Me pehea a GitLab me te tere tere ki te kohikohi, ki te tohu me te whakaputa i nga tono iOS ki te Toa App.
I tata matou
I konei ka tangohia e matou
He kupu torutoru mo te whirihoranga a Apple Store
Ka hiahia matou i tetahi taupānga Toa Toa, tiwhikete tohatoha, me tetahi tohu whakarato hei hono i nga mea katoa.
Ko te mea tino uaua i konei ko te whakatuu motika hainatanga ki te Toa App. Te ti'aturi nei au ka taea e koe te whakaaro i tenei mo koe ake. Mena he hou koe, ka tohu ahau i a koe ki te huarahi tika, engari kare matou e korero mo nga uauatanga o te whakahaere i nga tiwhikete Apple i konei, a kei te huri haere tonu. Ma tenei panui ka awhina koe ki te timata.
Aku Taupānga
Kei te hiahia koe ki tetahi taupānga kei App Store Connect kia whai ID koe mo te whirihoranga .xcodebuild
. Ko te kōtaha me te ID tono e whakakotahi ana i te hanga waehere, te utu me te waatea, me te whirihoranga TestFlight mo te tohatoha tono whakamatautau ki nga kaiwhakamahi. Kaua e mahi i nga whakamatautau a te iwi, ka rato nga whakamatautau motuhake mena he roopu iti koe, he ngawari te whakarite, kaore koe e hiahia ki etahi atu whakaaetanga mai i a Apple.
Kōtaha arataki
I tua atu i te tatūnga taupānga, me hiahia koe ki te tohatoha me nga taviri whanaketanga iOS i hangaia i roto i nga Tiwhikete, Kaitohu me nga Profile waahanga o te papatohu Kaiwhakawhanake Apple. Ko enei tiwhikete katoa ka taea te whakakotahi ki roto i tetahi tohu tuku.
Ko nga kaiwhakamahi ka whakamotuhēhēhia me kaha ki te hanga tiwhikete, ki te kore ko nga hikoinga
atu kōwhiringa
I tua atu i tenei tikanga ngawari, tera ano etahi atu huarahi hei whirihora i nga tiwhikete me nga korero. Na, ki te mahi rereke koe, me urutau pea koe. Ko te mea nui ka hiahia koe ki te whirihoranga .xcodebuild
, ka tohu ki nga konae e tika ana, a me waatea te mekameka matua i runga i te rorohiko hanga mo te kaiwhakamahi kei raro nei tona ingoa e rere ana te kaiwhai. Mo te hainatanga matihiko ka whakamahi matou i te tere tere, a mena he raru kei te pirangi koe ki te mohio atu, tirohia o raatau korero
I tenei tauira kei te whakamahi ahau i te huarahi
Te whakarite i a GitLab me te ara tere
Te whakarite CI Runner
Ka kohia enei raraunga katoa, ka neke atu ki te whirihoranga o te kaikawe GitLab i runga i te taputapu MacOS. Kia aroha mai, ka taea e koe anake te hanga i nga taupānga iOS i runga i te MacOS. Engari ka huri nga mea katoa, a, ki te tumanako koe ki te ahunga whakamua i roto i tenei waahanga, kia mau ki nga kaupapa penei
Ko te whakarite i te kaihoroi he tino ngawari. Whai i te wa
Tuhipoka. Me whakamahi te kaihoroi i tetahi papatono ka taea te whakahaere shell
. Me mahi tenei ki te hanga iOS ki runga macOS kia mahi tika hei kaiwhakamahi, kaua ma nga ipu. Mena kei te whakamahi koe shell
, Ko te hanga me te whakamatautau ka mahia hei kaiwhakamahi kaikawe, i runga tonu i te kaihautu hanga. Ehara i te mea haumaru penei i nga ipu, no reira pai ake te tirotiro
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
Me whirihorahia a Apple Keychain ki runga i tenei kaihautu me te uru ki nga taviri me hanga e Xcode. Ko te huarahi ngawari ki te whakamatau i tenei ko te takiuru hei kaiwhakamahi mana e whakahaere te hanga me te ngana ki te hanga a-ringa. Mena ka tono te punaha mo te uru ki te mekameka matua, tohua te Whakaaetanga i nga wa katoa kia mahi a CI. He pai pea te haere ki roto ki te mataki i nga paipa tuatahi e rua kia kore ai e tono mo te mekameka matua. Ko te raru ko te kore a Apple e ngawari ki a maatau ki te whakamahi i te aratau Aunoa, engari ka eke koe, ka pai nga mea katoa.
tererangi init
Hei whakamahi tere tere i roto i te kaupapa, rere fastlane init
. Whai noa
I roto i to whaiaronga kaupapa, whakahaere enei whakahau:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
ka tono a fastlane mo tetahi whirihoranga taketake katahi ka hanga he kōpaki tere ki roto i te kaupapa me nga konae e toru:
1. fastlane/Appfile
Kaore he mea uaua i konei. Me mohio kei te tika to ID Apple me to ID Taupānga.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
ka tautuhi i nga waahanga hanga. Ka whakamahia e matou te maha o nga waahanga hanga-i roto i te fastlane, no reira kua marama nga mea katoa i konei. Ka hangaia e matou tetahi raina ka whiwhi tiwhikete, ka whakahaere i te huihuinga me te tuku ki te TestFlight. Ka taea e koe te wehewehe i tenei tukanga ki nga mahi rereke mehemea e tika ana. Ko enei mahi katoa (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) kua whakauruhia ki roto i te tere tere.
Nga mahi get_certificates
и get_provisioning_profile
e pa ana ki te huarahi hainatanga
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 konae whiriwhiri tenei, engari i hanga a ringatia e au hei huri i te raarangi whakaputa taunoa me te tuu i te putanga ki te kōpaki o naianei. Ma tenei ka ngawari te CI. Ki te hiahia, panui mo gym
me ona tawhā i roto
https://docs.fastlane.tools/actions/gym/
Tatou .gitlab-ci.yml
Na, he kaikawe CI mo te kaupapa, kua rite matou ki te whakamatautau i te paipa. Kia kite tatou he aha kei roto .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 te whakahaere i te kaupapa shell
, kia whai waahi mahi ma mo ia huihuinga, ka waea noa flappybuild
tererangi, pera i runga ake nei. Ko te mutunga, ka whiwhi matou i te huihuinga, hainatanga me te tukunga o te huihuinga hou i TestFlight.
Ka whiwhi hoki matou i te taonga me te penapena me te huihuinga. Kia mahara ko te whakatakotoranga .ipa
he ARM kua hainatia e kore e rere i roto i te simulator. Mena kei te pirangi koe ki te whakaputanga mo te simulator, taapiri noa i te whaainga hanga e whakaputa ana, katahi ka whakauruhia ki te ara toi.
Ētahi atu taurangi taiao
E rua nga taurangi taiao i konei e mahi ai nga mea katoa.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
Ko te motuhēhēnga mo te tere tere e hiahiatia ana ki te whakamotuhēhē i roto i te Toa App me te tuku ki TestFlight. Ki te mahi i tenei, hanga he kupuhipa mo te tono ka whakamahia ki te CI. Nga korero
Mena he motuhēhēnga-rua koe, hangahia he taurangi FASTLANE_SESSION
(he tohutohu kei reira).
FASTLANE_USER
и FASTLANE_PASSWORD
e FASTLANE_USER
и FASTLANE_PASSWORD
. Nga korero
I te mutunga
Ka taea e koe te kite me pehea te mahi katoa
Te ti'aturi nei au i awhina tenei me te whakaawe i a koe ki te mahi me te hanga iOS i roto i te kaupapa GitLab. Tenei ano tetahi CI_BUILD_ID
(mo te hanga incremental) ki
Ko tetahi atu ahuatanga pai o te tere tere
Korerohia mai ki a matou i roto i nga korero mo to wheako me te tiri i o whakaaro mo te whakapai ake i te GitLab mo te whanaketanga taupānga iOS.
Source: will.com