Jinsi GitLab iliyo na fastlane inavyokusanya, kusaini na kuchapisha programu za iOS kwenye Duka la Programu.
Hivi majuzi tulikuwa nayo
Hapa tutachukua
Maneno machache kuhusu usanidi wa Duka la Apple
Tutahitaji programu ya Duka la Programu, vyeti vya usambazaji na wasifu wa utoaji ili kuunganisha kila kitu.
Jambo gumu zaidi hapa ni kusanidi haki za kusaini katika Duka la Programu. Natumai unaweza kubaini hili mwenyewe. Ikiwa wewe ni mpya, nitakuelekeza katika mwelekeo sahihi, lakini hatutazungumza juu ya ugumu wa kudhibiti cheti cha Apple hapa, na zinabadilika kila wakati. Chapisho hili litakusaidia kuanza.
Programu Zangu
Unahitaji programu katika App Store Connect ili uwe na kitambulisho cha kusanidi .xcodebuild
. Kitambulisho cha wasifu na programu huchanganya miundo ya misimbo, bei na upatikanaji, na usanidi wa TestFlight kwa ajili ya kusambaza programu za majaribio kwa watumiaji. Usifanye majaribio ya umma, majaribio ya faragha yatatosha ikiwa una kikundi kidogo, usanidi rahisi, na hauitaji vibali vya ziada kutoka kwa Apple.
Wasifu wa uanzishaji
Kando na usanidi wa programu, unahitaji funguo za usambazaji na usanidi za iOS zilizoundwa katika sehemu ya Vyeti, Vitambulisho na Wasifu kwenye dashibodi ya Wasanidi Programu wa Apple. Vyeti hivi vyote vinaweza kuunganishwa kuwa wasifu wa utoaji.
Watumiaji ambao watathibitishwa wanahitaji kuwa na uwezo wa kuunda vyeti, vinginevyo hatua
chaguzi nyingine
Kando na njia hii rahisi, kuna njia zingine za kusanidi vyeti na wasifu. Kwa hivyo, ikiwa unafanya kazi tofauti, unaweza kulazimika kuzoea. Jambo muhimu zaidi ni kwamba unahitaji usanidi .xcodebuild
, ambayo itaelekeza kwenye faili zinazohitajika, na mnyororo wa ufunguo lazima upatikane kwenye kompyuta ya kujenga kwa mtumiaji ambaye chini ya jina lake mkimbiaji anaendesha. Kwa saini ya dijiti tunatumia fastlane, na ikiwa kuna shida au unataka kujua zaidi, angalia maelezo yao
Katika mfano huu ninatumia mbinu
Kuandaa GitLab na fastlane
Kuandaa CI Runner
Baada ya kukusanya data hii yote, tunaendelea na usanidi wa kiendeshaji cha GitLab kwenye kifaa cha MacOS. Kwa bahati mbaya, unaweza tu kutengeneza programu za iOS kwenye MacOS. Lakini kila kitu kinaweza kubadilika, na ikiwa unatarajia maendeleo katika eneo hili, endelea kutazama miradi kama hiyo
Kuweka mkimbiaji ni rahisi sana. Fuata mkondo wa sasa
Kumbuka. Mkimbiaji lazima atumie programu inayoweza kutekelezwa shell
. Hii inahitajika ili kuunda iOS kwenye macOS kufanya kazi moja kwa moja kama mtumiaji badala ya kupitia vyombo. Ikiwa unatumia shell
, ujenzi na majaribio hufanywa kama mtumiaji anayeendesha, moja kwa moja kwenye seva pangishi ya ujenzi. Sio salama kama vyombo, kwa hivyo bora kuvinjari
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
Apple Keychain lazima isanidiwe kwenye seva pangishi hii na ufikiaji wa funguo ambazo Xcode inahitaji kuunda. Njia rahisi ya kujaribu hii ni kuingia kama mtumiaji ambaye ataendesha ujenzi na kujaribu kuijenga mwenyewe. Ikiwa mfumo unaomba ufikiaji wa mnyororo wa vitufe, chagua Ruhusu Kila wakati kwa CI kufanya kazi. Huenda ikafaa kuingia na kutazama mabomba kadhaa ya kwanza ili kuhakikisha kuwa hayaulizi mnyororo wa vitufe tena. Shida ni kwamba Apple haifanyi iwe rahisi kwetu kutumia Modi ya Kiotomatiki, lakini ukishaifanya, kila kitu kitakuwa sawa.
fastlane init
Ili kutumia fastlane katika mradi, endesha fastlane init
. Fuata tu
Katika saraka ya mradi wako, endesha amri hizi:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
fastlane itauliza usanidi wa kimsingi na kisha kuunda folda ya fastlane kwenye mradi na faili tatu:
1. fastlane/Appfile
Hakuna kitu ngumu hapa. Hakikisha tu Kitambulisho chako cha Apple na Kitambulisho cha Programu ni sahihi.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
inafafanua hatua za ujenzi. Tunatumia vipengele vingi vilivyojengewa ndani vya fastlane, kwa hivyo kila kitu kiko wazi hapa pia. Tunaunda laini moja inayopokea vyeti, kufanya mkusanyiko na kuipakia kwenye TestFlight. Unaweza kugawanya mchakato huu katika kazi tofauti ikiwa ni lazima. Operesheni hizi zote (get_certificates
, get_provisioning_profile
, gym
ΠΈ upload_to_testflight
) tayari zimejumuishwa kwenye fastlane.
Shughuli get_certificates
ΠΈ get_provisioning_profile
kuhusiana na mbinu ya kusaini
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
Hii ni faili ya hiari, lakini niliiunda kwa mikono ili kubadilisha saraka ya pato chaguo-msingi na kuweka pato kwenye folda ya sasa. Hii hurahisisha CI. Ikiwa nia, soma kuhusu gym
na vigezo vyake ndani
https://docs.fastlane.tools/actions/gym/
Yetu .gitlab-ci.yml
Kwa hivyo, tuna mkimbiaji wa CI wa mradi na tuko tayari kujaribu bomba. Wacha tuone kile tulicho nacho .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
Kila kitu! clone
na programu ya utekelezaji shell
, ili tuwe na nafasi safi ya kazi kwa kila kusanyiko, na piga simu tu flappybuild
fastlane, kama inavyoonekana hapo juu. Kwa hivyo, tunapata mkusanyiko, saini na utumiaji wa mkusanyiko wa hivi punde katika TestFlight.
Pia tunapata mabaki na kuihifadhi na mkusanyiko. Tafadhali kumbuka kuwa muundo .ipa
ni ARM iliyotiwa saini inayoweza kutekelezeka ambayo haifanyi kazi katika kiigaji. Ikiwa unataka pato la simulator, ongeza tu lengo la kujenga ambalo linaizalisha, na kisha ujumuishe kwenye njia ya kisanii.
Vigezo vingine vya mazingira
Kuna anuwai ya anuwai ya mazingira hapa ambayo hufanya kila kitu kufanya kazi.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
ΠΈ FASTLANE_SESSION
Uthibitishaji wa fastlane unahitajika ili kuthibitisha katika Duka la Programu na kupakia kwenye TestFlight. Ili kufanya hivyo, tengeneza nenosiri la programu ambayo itatumika katika CI. Maelezo
Ikiwa una uthibitishaji wa sababu mbili, tengeneza tofauti FASTLANE_SESSION
(maelekezo hapo).
FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
Hiyo FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
. Maelezo
Kwa kumalizia
Unaweza kuona jinsi yote yanavyofanya kazi
Natumai hii ilikuwa ya msaada na ilikuhimiza kufanya kazi na iOS hujenga katika mradi wa GitLab. Hili hapa lingine CI_BUILD_ID
(kwa ajili ya ujenzi wa nyongeza) kwa
Kipengele kingine cha baridi cha fastlane ni
Tuambie kwenye maoni kuhusu matumizi yako na ushiriki mawazo yako ya kuboresha GitLab ya ukuzaji wa programu ya iOS.
Chanzo: mapenzi.com