Otu GitLab nwere fastlane si anakọta, akara ma bipụta ngwa iOS na Ụlọ Ahịa App.
Anyị nwere na nso nso a
Ebe a anyị ga-ewere
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ụ
ọ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
N'ihe atụ a, m na-eji usoro ahụ
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
Ịtọlite onye na-agba ọsọ dị nnọọ mfe. Soro ugbu a
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ị
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
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
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
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! 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
Ọ bụrụ na ị nwere nyocha ihe abụọ, mepụta mgbanwe FASTLANE_SESSION
(ntụziaka ebe ahụ).
FASTLANE_USER
и FASTLANE_PASSWORD
na FASTLANE_USER
и FASTLANE_PASSWORD
. Nkọwa
N'ikpeazụ
Ị nwere ike ịhụ ka ihe niile si arụ ọrụ
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ọ CI_BUILD_ID
(maka mmụba na-ewuli elu) ka
Akụkụ ọzọ dị mma nke fastlane bụ
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