Pehea ʻo GitLab me fastlane e hōʻiliʻili ai, hōʻailona a hoʻopuka i nā noi iOS i ka hale kūʻai App.
Ua loaʻa iā mākou i kēia manawa
Maanei mākou e lawe ai
ʻO kekahi mau huaʻōlelo e pili ana i ka hoʻonohonoho Apple Store
Pono mākou i kahi polokalamu App Store, nā palapala hōʻoia, a me kahi ʻaoʻao hoʻolako e hoʻopili i nā mea āpau.
ʻO ka mea paʻakikī loa ma aneʻi ʻo ka hoʻonohonoho ʻana i nā kuleana ma ka App Store. Manaʻo wau hiki iā ʻoe ke noʻonoʻo i kēia no ʻoe iho. Inā he mea hou ʻoe, e kuhikuhi wau iā ʻoe i ke ala pololei, akā ʻaʻole mākou e kamaʻilio e pili ana i ka paʻakikī o ka mālama ʻana i nā palapala Apple ma aneʻi, a ke loli mau nei lākou. E kōkua kēia pou iā ʻoe e hoʻomaka.
ʻO kaʻu mau polokalamu
Pono ʻoe i kahi polokalamu ma App Store Connect i loaʻa iā ʻoe kahi ID no ka hoʻonohonoho .xcodebuild
. Hoʻohui ka ʻaoʻao a me ka ID noi i nā code build, ke kumu kūʻai a me ka loaʻa, a me ka hoʻonohonoho TestFlight no ka hāʻawi ʻana i nā noi hoʻāʻo i nā mea hoʻohana. Mai hana i ka hoʻāʻo lehulehu, lawa ka hoʻāʻo pilikino inā he hui liʻiliʻi kāu, hoʻonohonoho maʻalahi, a ʻaʻole pono i nā ʻae hou mai Apple.
Hōʻike hoʻomaka
Ma waho aʻe o ka hoʻonohonoho ʻana i ka app, pono ʻoe i ka hoʻolaha ʻana a me nā kī hoʻomohala iOS i hana ʻia ma nā palapala palapala, ʻike a me nā ʻaoʻao o ka Apple Developer console. Hiki ke hoʻohui ʻia kēia mau palapala hōʻoia a pau i kahi ʻaoʻao hoʻolako.
Pono nā mea hoʻohana e hōʻoia ʻia e hana i nā palapala hōʻoia, inā ʻaʻole nā ʻanuʻu
nā koho
Ma waho aʻe o kēia ʻano maʻalahi, aia nā ala ʻē aʻe e hoʻonohonoho i nā palapala hōʻoia a me nā profiles. No laila, inā ʻokoʻa kāu hana, pono paha ʻoe e hoʻololi. ʻO ka mea nui, pono ʻoe i ka hoʻonohonoho .xcodebuild
, e kuhikuhi ana i nā faila pono, a pono e loaʻa ke kī kī ma ke kamepiula kūkulu no ka mea hoʻohana ma lalo o kona inoa e holo nei ka mea holo. No ka hōʻailona kikohoʻe hoʻohana mākou i ka fastlane, a inā he pilikia a makemake ʻoe e ʻike hou aku, e nānā i kā lākou kikoʻī
I kēia laʻana, ke hoʻohana nei au i ke ala
Ke hoʻomākaukau nei iā GitLab a me ka wikiwiki
Hoʻomākaukau ʻana iā CI Runner
Ma hope o ka hōʻiliʻili ʻana i kēia ʻikepili āpau, neʻe mākou i ka hoʻonohonoho ʻana o ka mea holo GitLab ma ka polokalamu MacOS. ʻO ka mea pōʻino, hiki iā ʻoe ke hana i nā polokalamu iOS ma MacOS. Akā hiki ke loli nā mea a pau, a inā e manaʻo ʻoe i ka holomua ma kēia wahi, e nānā i nā papahana like
He maʻalahi loa ka hoʻonohonoho ʻana i ka mea holo. E hahai i kēia manawa
Nānā. Pono ka mea holo e hoʻohana i kahi polokalamu hoʻokō shell
. Pono kēia e kūkulu iā iOS ma macOS e hana pololei ma ke ʻano he mea hoʻohana ma mua o nā ipu. Inā ʻoe e hoʻohana nei shell
, hana ʻia ke kūkulu ʻana a me ka hoʻāʻo ʻana e like me ka mea hoʻohana runner, pololei ma ka hale kūkulu hale. ʻAʻole palekana e like me nā pahu, no laila ʻoi aku ka maikaʻi o ka nānā ʻana
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
Pono e hoʻonohonoho ʻia ʻo Apple Keychain ma kēia pūʻali me ke komo ʻana i nā kī e pono ai ʻo Xcode e kūkulu. ʻO ke ala maʻalahi e hoʻāʻo ai i kēia, ʻo ia ke komo ʻana ma ke ʻano he mea hoʻohana e holo i ka hale a hoʻāʻo e kūkulu me ka lima. Inā noi ka ʻōnaehana no ke komo ʻana i ke kaula kī, koho E ʻae mau iā CI e hana. Pono paha e komo i loko a nānā i nā paipu mua ʻelua e ʻike pono ʻaʻole lākou e noi hou aku i ke kaula kī. ʻO ka pilikia, ʻaʻole maʻalahi ʻo Apple iā mākou e hoʻohana i ke ʻano Auto, akā ke hele ʻoe, e maikaʻi nā mea a pau.
holo wikiwiki init
No ka hoʻohana ʻana i ka fastlane i kahi papahana, holo fastlane init
. Hahai wale
Ma kāu papa kuhikuhi papahana, e holo i kēia mau kauoha:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
E noi ʻo fastlane i kahi hoʻonohonoho maʻamau a laila hana i kahi folder fastlane i ka papahana me ʻekolu faila:
1. fastlane/Appfile
ʻAʻohe mea paʻakikī ma ʻaneʻi. E hōʻoia i ka pololei o kāu Apple ID a me App ID.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
wehewehe i nā ʻanuʻu kūkulu. Hoʻohana mākou i nā hiʻohiʻona i kūkulu ʻia o fastlane, no laila ua maopopo nā mea āpau ma aneʻi. Hana mākou i hoʻokahi laina e loaʻa nā palapala hōʻoia, hana i ka hui a hoʻouka iā ia i TestFlight. Hiki iā ʻoe ke hoʻokaʻawale i kēia kaʻina hana i nā hana like ʻole inā pono. ʻO kēia mau hana a pau (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) ua hoʻokomo mua ʻia i ke ala wikiwiki.
Nā hana get_certificates
и get_provisioning_profile
pili i ke ala hoailona
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
He faila koho kēia, akā ua hana au ia mea me ka lima e hoʻololi i ka papa kuhikuhi hoʻopuka paʻamau a kau i ka hopena i ka waihona o kēia manawa. Hoʻomaʻamaʻa kēia iā CI. Inā hoihoi, heluhelu e pili ana gym
a me kona mau palena ma
https://docs.fastlane.tools/actions/gym/
ʻO mākou .gitlab-ci.yml
No laila, loaʻa iā mākou he kukini CI no ka papahana a ua mākaukau mākou e hoʻāʻo i ka pipeline. E ʻike kāua i kā mākou mea i loko .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
me ka hoʻokō ʻana i ka papahana shell
, i loaʻa iā mākou kahi wahi hana maʻemaʻe no kēlā me kēia hui, a kāhea wale aku flappybuild
holo wikiwiki, e like me ka mea i ʻike ʻia ma luna. ʻO ka hopena, loaʻa iā mākou ka hui, pūlima a me ka hoʻonohonoho ʻana o ka hui hou loa ma TestFlight.
Loaʻa iā mākou ka artifact a mālama iā ia me ka hui. E ʻoluʻolu e hoʻomaopopo i ke ʻano .ipa
he mea hoʻokō ARM i hoʻopaʻa ʻia ʻaʻole holo i ka simulator. Inā makemake ʻoe i ka hoʻopuka no ka simulator, e hoʻohui wale i ka pahuhopu kūkulu e hana ai, a laila e hoʻokomo iā ia i ke ala artifact.
Nā hoʻololi kaiapuni ʻē aʻe
Aia kekahi mau ʻano hoʻololi kaiapuni ma ʻaneʻi e hana i nā mea a pau.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
Pono ka hōʻoia no fastlane e hōʻoia i ka App Store a hoʻouka i TestFlight. No ka hana ʻana i kēia, hana i kahi ʻōlelo huna no ka noi e hoʻohana ʻia ma CI. Nā kikoʻī
Inā loaʻa iā ʻoe ka hōʻoia ʻelua kumu, e hana i kahi loli FASTLANE_SESSION
(instructions there).
FASTLANE_USER
и FASTLANE_PASSWORD
ia FASTLANE_USER
и FASTLANE_PASSWORD
. Nā kikoʻī
I ka hopena
Hiki iā ʻoe ke ʻike pehea e hana ai nā mea a pau
Manaʻo wau ua kōkua kēia a hoʻoikaika iā ʻoe e hana me iOS i kūkulu ʻia i kahi papahana GitLab. Eia kekahi CI_BUILD_ID
(no ke kūkulu hou ʻana) i
ʻO kekahi hiʻohiʻona maikaʻi o ka fastlane
E haʻi mai iā mākou ma nā manaʻo e pili ana i kāu ʻike a kaʻana like i kāu mau manaʻo no ka hoʻomaikaʻi ʻana iā GitLab no ka hoʻomohala ʻana i ka app iOS.
Source: www.habr.com