I-GitLab ene-fastlane iqoqa, isayinda futhi izishicilele kanjani izinhlelo zokusebenza ze-iOS ku-App Store.
Sisanda kuba nayo
Lapha sizothatha
Amagama ambalwa mayelana nokucushwa kwe-Apple Store
Sizodinga uhlelo lokusebenza lwe-App Store, izitifiketi zokusabalalisa, nephrofayela yokuhlinzeka ukuze sihlanganise yonke into.
Into enzima kakhulu lapha ukusetha amalungelo okusayina ku-App Store. Ngethemba ukuthi ungazitholela lokhu ngokwakho. Uma umusha, ngizokukhomba endleleni efanele, kodwa ngeke sikhulume ngobunkimbinkimbi bokuphatha izitifiketi ze-Apple lapha, futhi zishintsha njalo. Lokhu okuthunyelwe kuzokusiza ukuthi uqalise.
Izinhlelo zami zokusebenza
Udinga uhlelo lokusebenza ku-App Store Connect ukuze ube ne-ID yokucushwa .xcodebuild
. Iphrofayili kanye ne-ID yohlelo lokusebenza kuhlanganisa ukwakhiwa kwekhodi, intengo nokutholakala, kanye nokucushwa kwe-TestFlight kokusabalalisa izinhlelo zokusebenza zokuhlola kubasebenzisi. Ungakwenzi ukuhlola okusesidlangalaleni, ukuhlola okuyimfihlo kuzokwanela uma uneqembu elincane, ukusetha okulula, futhi ungadingi izimvume ezengeziwe ezivela kwa-Apple.
Iphrofayili yokuqalisa
Ngokungeziwe ekusethweni kohlelo lokusebenza, udinga okhiye bokusabalalisa nokuthuthukisa be-iOS abadalwe esigabeni Sezitifiketi, Izihlonzi namaphrofayela se-Apple Developer console. Zonke lezi zitifiketi zingahlanganiswa zibe iphrofayili yokuhlinzeka.
Abasebenzisi abazoqinisekiswa badinga ukwazi ukudala izitifiketi, ngaphandle kwalokho izinyathelo
Okunye okukhethwa kukho
Ngaphandle kwale ndlela elula, kunezinye izindlela zokumisa izitifiketi namaphrofayili. Ngakho-ke, uma usebenza ngokuhlukile, kungase kudingeke uzivumelanise nezimo. Okubaluleke kakhulu ukuthi udinga ukucushwa .xcodebuild
, ezokhomba amafayela adingekayo, futhi i-keychain kufanele itholakale kukhompuyutha yokwakha kumsebenzisi okugijima ngaphansi kwegama lakhe umgijimi. Ukuze uthole isiginesha yedijithali sisebenzisa i-fastlane, futhi uma kunezinkinga noma ufuna ukwazi okwengeziwe, hlola imininingwane yabo
Kulesi sibonelo ngisebenzisa indlela
Ilungiselela i-GitLab ne-fastlane
Ilungiselela i-CI Runner
Ngemva kokuqoqa yonke le datha, sidlulela ekucushweni komgijimi we-GitLab kudivayisi ye-MacOS. Ngeshwa, ungenza kuphela izinhlelo zokusebenza ze-iOS ku-MacOS. Kodwa konke kungashintsha, futhi uma ulindele inqubekelaphambili kule ndawo, gcina iso kumaphrojekthi afana
Ukusetha umgijimi kulula kakhulu. Landela okwakamuva
Qaphela. Umgijimi kufanele asebenzise uhlelo olusebenzisekayo shell
. Lokhu kuyadingeka ukuze kwakhiwe i-iOS ku-macOS ukuze isebenze ngokuqondile njengomsebenzisi kunokusebenzisa iziqukathi. Uma usebenzisa shell
, ukwakha nokuhlola kwenziwa njengomsebenzisi ogijimayo, ngokuqondile kumsingathi wokwakha. Ayivikelekile njengeziqukathi, ngakho-ke kungcono uphequlule
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
I-Apple Keychain kufanele ilungiswe kulo msingathi ngokufinyelela okhiye i-Xcode edinga ukubakha. Indlela elula yokuhlola lokhu ukungena njengomsebenzisi ozosebenzisa isakhiwo bese uzama ukuyakha mathupha. Uma uhlelo lucela ukufinyelela kokhiye, khetha okuthi Hlala Uvumela ukuthi i-CI isebenze. Kungase kudingeke ukuba ungene futhi ubuke amapayipi ambalwa okuqala ukuze uqiniseke ukuthi awasakuceli uchungechunge lokhiye. Inkinga ukuthi i-Apple ayikwenzi kube lula ngathi ukusebenzisa i-Auto mode, kodwa uma usuyiqedile, konke kuzolunga.
i-fastlane init
Ukuze usebenzise i-fastlane kuphrojekthi, sebenzisa fastlane init
. Vele ulandele
Kuhla lwemibhalo yephrojekthi yakho, sebenzisa le miyalo:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
i-fastlane izocela ukucushwa okuyisisekelo bese idala ifolda ye-fastlane kuphrojekthi enamafayela amathathu:
1. fastlane/Appfile
Akukho lutho oluyinkimbinkimbi lapha. Vele uqiniseke ukuthi i-ID yakho ye-Apple ne-ID yohlelo lokusebenza zilungile.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
ichaza izinyathelo zokwakha. Sisebenzisa izici eziningi ezakhelwe ngaphakathi ze-fastlane, ngakho yonke into icacile nalapha. Sakha umugqa owodwa owamukela izitifiketi, senze ukuhlanganisa bese siwulayisha ku-TestFlight. Ungahlukanisa le nqubo ngemisebenzi ehlukene uma kunesidingo. Yonke le misebenzi (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) sezivele zifakiwe ku-fastlane.
Действия get_certificates
и get_provisioning_profile
okuhlobene nendlela yokusayina
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
Leli ifayela lokuzikhethela, kodwa ngilidale ngokuzenzela ukuze ngiguqule uhla lwemibhalo oluzenzakalelayo bese ngibeka okukhiphayo kufolda yamanje. Lokhu kwenza i-CI ibe lula. Uma unentshisekelo, funda mayelana gym
kanye nemingcele yayo ku
https://docs.fastlane.tools/actions/gym/
Ezethu .gitlab-ci.yml
Ngakho-ke, sinomgijimi we-CI wephrojekthi futhi sikulungele ukuhlola ipayipi. Ake sibone ukuthi yini esinayo .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
Все отлично! clone
ngohlelo lokwenza shell
, ukuze sibe nendawo yokusebenza ehlanzekile yomhlangano ngamunye, futhi simane sishaye ucingo flappybuild
fastlane, njengoba kuboniswe ngenhla. Ngenxa yalokho, sithola ukuhlanganiswa, isiginesha nokuthunyelwa komhlangano wakamuva ku-TestFlight.
Siphinde sithole i-artifact futhi siyilondoloze nokuhlanganiswa. Sicela uqaphele ukuthi ifomethi .ipa
iyi-ARM esayiniwe esebenzisekayo engasebenzisi kusifanisi. Uma ufuna okuphumayo kwesifanisi, vele ungeze impokophelo yokwakha eyikhiqizayo, bese ukuhlanganisa kundlela ye-artifact.
Okunye okuguquguqukayo kwemvelo
Kukhona okuguquguqukayo kwemvelo okumbalwa okwenza konke kusebenze.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
Ukuqinisekisa kwe-fastlane kuyadingeka ukuze kugunyazwe ku-App Store futhi kulayishwe ku-TestFlight. Ukwenza lokhu, dala iphasiwedi yohlelo lokusebenza ezosetshenziswa ku-CI. Imininingwane
Uma unobuqiniso bezinto ezimbili, dala okuguquguqukayo FASTLANE_SESSION
(iziqondiso lapho).
FASTLANE_USER
и FASTLANE_PASSWORD
ukuthi FASTLANE_USER
и FASTLANE_PASSWORD
. Imininingwane
Ekuphethweni
Ungabona ukuthi konke kusebenza kanjani
Ngithemba ukuthi lokhu kube usizo futhi kukugqugquzele ukuthi usebenze ne-iOS yokwakha kuphrojekthi ye-GitLab. Nansi enye CI_BUILD_ID
(ngokwakha okukhuphukayo) ukuze
Esinye isici esihle se-fastlane yi
Sitshele kumazwana mayelana nolwazi lwakho futhi wabelane ngemibono yakho yokuthuthukisa i-GitLab yokuthuthukiswa kohlelo lokusebenza lwe-iOS.
Source: www.habr.com