Iji GitLab na fastlane na-ebipụta ngwa iOS na App Store

Iji GitLab na fastlane na-ebipụta ngwa iOS na App Store

Otu GitLab nwere fastlane si anakọta, akara ma bipụta ngwa iOS na Ụlọ Ahịa App.

Anyị nwere na nso nso a biputere maka otu esi arụ ngwa ngwa ma rụọ ngwa gam akporo na GitLab na ngwa ngwa. N'ebe a, anyị ga-ahụ ka esi arụ ma na-agba ọsọ ngwa iOS wee bipụta ya na TestFlight. Lelee ka ọ dị mma Ana m eme mgbanwe na iPad Pro na GitLab Web IDE, Ana m ewere mgbakọ ahụ wee nweta mmelite na ụdị nnwale nke ngwa n'otu iPad Pro ebe m mepụtara ya.

Ebe a anyị ga-ewere ngwa iOS dị mfe na Swift, bụ́ onye mụ na ya dekọrọ vidio ahụ.

Okwu ole na ole gbasara nhazi Ụlọ Ahịa Apple

Anyị ga-achọ ngwa Store App, asambodo nkesa, yana profaịlụ nkwado iji kekọta ihe niile ọnụ.

Ihe kacha sie ike ebe a bụ ịtọlite ​​ikike mbinye aka na App Store. Enwere m olileanya na ị ga-achọpụta nke a n'onwe gị. Ọ bụrụ na ị dị ọhụrụ, m ga-atụ gị aka n'ụzọ ziri ezi, ma anyị agaghị ekwu maka mgbagwoju anya nke ijikwa asambodo Apple ebe a, ha na-agbanwe mgbe niile. Nke a ga-enyere gị aka ibido.

Ngwa m

Ị ga-achọ ngwa dị na Jikọọ App Store ka ị nwee NJ maka nhazi .xcodebuild. Profaịlụ na NJ ngwa na-ejikọta koodu na-ewuli elu, ọnụahịa na nnweta, yana nhazi TestFlight maka ikesa ngwa ule nye ndị ọrụ. Emela ule ọha, nnwale nkeonwe ga-ezuru gị ma ọ bụrụ na ị nwere obere otu, nhazi dị mfe, na ịchọghị ikike ọzọ site na Apple.

Profaịlụ mmalite

Na mgbakwunye na ntọlite ​​​​ngwa, ị ga-achọ igodo nkesa na mmepe iOS nke emepụtara na ngalaba Asambodo, Nchọpụta & Profaịlụ nke ihe njikwa Apple Developer. Enwere ike ijikọ asambodo ndị a niile ka ọ bụrụ profaịlụ ntinye.

Ndị ọrụ ga-ezitere kwesịrị inwe ike ịmepụta asambodo, ma ọ bụghị usoro ahụ cert na ude ị ga-ahụ njehie.

ọzọ nhọrọ

E wezụga usoro a dị mfe, enwere ụzọ ndị ọzọ iji hazie asambodo na profaịlụ. Ya mere, ọ bụrụ na ị na-arụ ọrụ dị iche iche, ị nwere ike ime mgbanwe. Ihe kachasị mkpa bụ na ịchọrọ nhazi .xcodebuild, nke ga-arụtụ aka na faịlụ ndị dị mkpa, na keychain ga-adị na kọmpụta a na-ewu maka onye ọrụ n'okpuru aha onye na-agba ọsọ na-agba ọsọ. Maka mbinye aka dijitalụ anyị na-eji fastlane, ma ọ bụrụ na enwere nsogbu ma ọ bụ na ịchọrọ ịmatakwu, lelee nkọwa ha akwụkwọ gbasara mbinye aka dijitalụ.

N'ihe atụ a, m na-eji usoro ahụ cert na ude, mana maka iji ya eme ihe n'ezie, ọ ga-aka mma egwuregwu.

Na-akwado GitLab na fastlane

Na-akwado CI Runner

N'ịchịkọta data niile a, anyị na-aga na nhazi nke GitLab runner na MacOS ngwaọrụ. Ọ dị nwute, ị nwere ike ịme ngwa iOS naanị na MacOS. Ma ihe niile nwere ike ịgbanwe, ma ọ bụrụ na ị na-atụ anya ọganihu na mpaghara a, lekwasị anya na ọrụ ndị dị ka xc wu и akara, na ọrụ ime anyị gitlab-ce#57576.

Ịtọlite ​​​​onye na-agba ọsọ dị nnọọ mfe. Soro ugbu a ntuziaka maka ịtọlite ​​​​GitLab Runner na macOS.

Rịba ama. Onye na-agba ọsọ ga-eji mmemme arụ ọrụ shell. Nke a chọrọ iji wuo iOS na macOS ka ọ rụọ ọrụ ozugbo dị ka onye ọrụ kama site na arịa. Ọ bụrụ na ị na-eji shell, A na-eme ụlọ na ule dị ka onye na-agba ọsọ, ozugbo na onye na-ewu ụlọ. Ọ bụghị nchekwa dị ka arịa, yabụ ka mma ịchọgharị akwụkwọ nchekwayabụ ị gaghị atụ uche ihe ọ bụla.

sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
sudo chmod +x /usr/local/bin/gitlab-runner
cd ~
gitlab-runner install
gitlab-runner start

Ekwesịrị ịhazi Apple Keychain na onye ọbịa a iji nweta igodo Xcode kwesịrị ịrụ. Ụzọ kachasị mfe iji nwalee nke a bụ ịbanye dị ka onye ọrụ ga-arụ ọrụ ahụ ma gbalịa iji aka wuo ya. Ọ bụrụ na sistemụ arịọ maka ịnweta igodo igodo, họrọ Kwe ka CI rụọ ọrụ mgbe niile. Ọ nwere ike ịba uru ịbanye na ikiri pipeline abụọ mbụ iji jide n'aka na ha ajụghị maka igodo igodo ọzọ. Nsogbu bụ na Apple anaghị eme ka ọ dịrị anyị mfe iji ọnọdụ akpaaka, mana ozugbo ị nwetara ya, ihe niile ga-adị mma.

fastlane init

Iji jiri fastlane na oru ngo, gbaa ọsọ fastlane init. Naanị soro ntuziaka maka ịwụnye na ịgba ọsọ fastlane, karịsịa na ngalaba banyere Gemfile, n'ihi na anyị chọrọ ngwa ngwa na nke a ga-ebu amụma site na pipeline CI na-akpaghị aka.

N'ime ndekọ aha ọrụ gị, mee iwu ndị a:

xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init

fastlane ga-arịọ maka nhazi ntọala wee mepụta folda fastlane na ọrụ ahụ nwere faịlụ atọ:

1. fastlane/Appfile

Ọ dịghị ihe mgbagwoju anya ebe a. Naanị jide n'aka na Apple ID na App ID ziri ezi.

app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address

2. fastlane/Fastfile

Fastfile na-akọwa usoro iwu. Anyị na-eji ọtụtụ atụmatụ arụnyere fastlane, yabụ ihe niile doro anya ebe a. Anyị na-emepụta otu ahịrị na-enweta asambodo, na-eme mgbakọ ma bulite ya na TestFlight. Ị nwere ike kewaa usoro a n'ime ọrụ dị iche iche ma ọ bụrụ na ọ dị mkpa. Ọrụ ndị a niile (get_certificates, get_provisioning_profile, gym и upload_to_testflight) abanyelarị na fastlane.

Omume get_certificates и get_provisioning_profile metụtara ụzọ mbinye aka cert na ude. Ọ bụrụ na ị na-eji egwuregwu ma ọ bụ ihe ọ bụla, mee mgbanwe.

default_platform(:ios)

platform :ios do
  desc "Build the application"
  lane :flappybuild do
    get_certificates
    get_provisioning_profile
    gym
    upload_to_testflight
  end
end

3. fastlane/Gymfile

Nke a bụ faịlụ nhọrọ, mana ejiri m aka mee ya ka ọ gbanwee ndekọ mmepụta ndabara wee tinye mmepụta na nchekwa dị ugbu a. Nke a na-eme ka CI dị mfe. Ọ bụrụ na ị nwere mmasị, gụọ ya gym na paramita ya n'ime akwụkwọ.

https://docs.fastlane.tools/actions/gym/

Anyị .gitlab-ci.yml

Ya mere, anyị nwere onye na-agba ọsọ CI maka ọrụ ahụ ma anyị dị njikere ịnwale pipeline. Ka anyị hụ ihe anyị nwere .gitlab-ci.yml:

stages:
  - build

variables:
  LC_ALL: "en_US.UTF-8"
  LANG: "en_US.UTF-8"
  GIT_STRATEGY: clone

build:
  stage: build
  script:
    - bundle install
    - bundle exec fastlane flappybuild
  artifacts:
    paths:
    - ./FlappyBird.ipa

Na na na! Anyị na-edozi usoro ahụ na UTF-8 maka fastlane dịka achọrọ, jiri atụmatụ clone na mmemme mmemme shell, ka anyị wee nwee ebe ọrụ dị ọcha maka mgbakọ ọ bụla, ma kpọọ naanị flappybuild fastlane, dị ka a hụrụ n'elu. N'ihi ya, anyị na-enweta mgbakọ, mbinye aka na ntinye nke mgbakọ kachasị ọhụrụ na TestFlight.

Anyị na-enwetakwa arịa ahụ ma chekwaa ya na mgbakọ ahụ. Biko mara na usoro ahụ .ipa bụ ihe arụrụ arụ ọrụ ARM bịanyere aka na ya nke anaghị agba ọsọ na simulator. Ọ bụrụ na ịchọrọ mmepụta maka simulator, tinye naanị ihe nrụpụta nke na-emepụta ya, wee tinye ya n'okporo ụzọ artifact.

Mgbanwe gburugburu ebe obibi ndị ọzọ

E nwere di na nwunye nke gburugburu ebe obibi mgbanwe ebe a na-eme ka ihe niile na-arụ ọrụ.

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION

Achọrịrị nkwenye maka fastlane iji nyochaa na App Store wee bulite na TestFlight. Iji mee nke a, mepụta paswọọdụ maka ngwa a ga-eji na CI. Nkọwa ebe a.

Ọ bụrụ na ị nwere nyocha ihe abụọ, mepụta mgbanwe FASTLANE_SESSION (ntụziaka ebe ahụ).

FASTLANE_USER и FASTLANE_PASSWORD

na cert na ude akpọrọ profaịlụ mmalite na asambodo mgbe ị rịọrọ, ịkwesịrị ịtọ mgbanwe ndị ahụ FASTLANE_USER и FASTLANE_PASSWORD. Nkọwa ebe a. Nke a adịghị mkpa ma ọ bụrụ na ị na-eji usoro mbinye aka dị iche.

N'ikpeazụ

Ị nwere ike ịhụ ka ihe niile si arụ ọrụ n'ihe atụ m dị mfe.

Enwere m olileanya na nke a nyere gị aka ma kpalie gị ịrụ ọrụ na iOS na-ewuli na oru GitLab. Nke a bụ ihe ọzọ Ndụmọdụ CI maka fastlane, ọ bụrụ na ọ dị. Ị nwere ike ịchọrọ iji CI_BUILD_ID (maka mmụba na-ewuli elu) ka ụdị nkwalite na-akpaghị aka.

Akụkụ ọzọ dị mma nke fastlane bụ nseta ihuenyo akpaka maka App Store, nke dị mfe ịtọlite.

Gwa anyị na nkwupụta gbasara ahụmịhe gị wee kesaa echiche gị maka ịkwalite GitLab maka mmepe ngwa iOS.

isi: www.habr.com

Tinye a comment