Kamoo GitLab e nang le fastlane e bokellang, ho saena le ho phatlalatsa lits'ebetso tsa iOS Lebenkeleng la App.
Re sa tsoa ba le
Mona re tla nka
Mantsoe a seng makae mabapi le tlhophiso ea Apple Store
Re tla hloka sesebelisoa sa Lebenkele la App, litifikeiti tsa kabo, le profaele ea phepelo ho kopanya tsohle.
Ntho e thata ka ho fetisisa mona ke ho theha litokelo tsa ho saena ho App Store. Ke tšepa hore u ka iphumanela sena. Haeba u le mocha, ke tla u supisa tsela e nepahetseng, empa re ke ke ra bua ka mathata a ho laola mangolo a Apple mona, 'me a lula a fetoha. Poso ena e tla u thusa ho qala.
Lisebelisoa tsa ka
U hloka sesebelisoa ho App Store Connect e le hore u be le ID bakeng sa tlhophiso .xcodebuild
. Profaele le ID ea kopo li kopanya meaho ea khoutu, litheko le ho fumaneha, le tlhophiso ea TestFlight bakeng sa ho aba lits'ebetso tsa liteko ho basebelisi. Se ke oa etsa liteko tsa sechaba, tlhahlobo ea lekunutu e tla lekana haeba u na le sehlopha se senyenyane, ho seta habonolo, 'me u sa hloke tumello e eketsehileng ho tsoa ho Apple.
Boemo ba ho qala
Ntle le ho seta sesebelisoa, o hloka linotlolo tsa kabo ea iOS le nts'etsopele tse entsoeng karolong ea Li-Certificate, Identifiers & Profiles ea Apple Developer console. Lisetifikeiti tsena kaofela li ka kopanngoa ho ba profaele ea ho fana.
Basebelisi ba tla netefatsoa ba hloka ho khona ho etsa litifikeiti, ho seng joalo mehato
dikgetho tse ding
Ntle le mokhoa ona o bonolo, ho na le mekhoa e meng ea ho hlophisa litifikeiti le li-profile. Kahoo, haeba u sebetsa ka tsela e fapaneng, u ka tlameha ho ikamahanya le maemo. Ntho ea bohlokoa ka ho fetisisa ke hore o hloka tlhophiso .xcodebuild
, e tla supa lifaele tse hlokahalang, 'me senotlolo se tlameha ho ba teng k'homphieutheng ea mohaho bakeng sa mosebeletsi eo lebitso la hae le sebetsang tlas'a lebitso la hae. Bakeng sa signature ea dijithale re sebelisa fastlane, 'me haeba ho na le mathata kapa u batla ho tseba haholoanyane, sheba lintlha tsa bona
Mohlala ona ke sebelisa mokhoa ona
Ho lokisa GitLab le fastlane
Ho lokisa CI Semathi
Ha re se re bokelletse lintlha tsena kaofela, re fetela pele ho tlhophiso ea semathi sa GitLab sesebelisoa sa MacOS. Ka bomalimabe, o ka etsa lisebelisoa tsa iOS feela ho MacOS. Empa ntho e 'ngoe le e' ngoe e ka fetoha, 'me haeba u lebeletse tsoelo-pele sebakeng sena, beha leihlo mererong e kang
Ho theha semathi ho bonolo haholo. Latela morao-rao
Hlokomela. Semathi se tlameha ho sebelisa lenaneo le sebetsang shell
. Sena sea hlokahala ho aha iOS ho macOS ho sebetsa ka kotloloho joalo ka mosebelisi ho fapana le ho sebelisa lijana. Haeba u sebelisa shell
, moaho le liteko li etsoa joalo ka mosebelisi oa semathi, ka kotloloho ho moamoheli oa kaho. Ha e sireletsehe joalo ka lijana, kahoo ho molemo ho e bala
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 e tlameha ho hlophisoa ho moamoheli enoa ka phihlello ea linotlolo tseo Xcode e hlokang ho li haha. Mokhoa o bonolo oa ho leka sena ke ho kena joalo ka mosebelisi ea tla tsamaisa moaho mme o leke ho o haha ka letsoho. Haeba sistimi e kopa phihlello ea li-keychain, khetha Kamehla Lumella hore CI e sebetse. Ho ka ba molemo ho kena le ho shebella liphaephe tse 'maloa tsa pele ho etsa bonnete ba hore ha li sa kopa keychain. Bothata ke hore Apple ha e re nolofalletse ho sebelisa Auto mode, empa hang ha o ka e etsa, tsohle li tla loka.
fastlane init
Ho sebelisa fastlane morerong, matha fastlane init
. Latela feela
Bukeng ea hau ea morero, tsamaisa litaelo tsena:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
fastlane e tla kopa tlhophiso ea mantlha ebe e theha foldara ea fastlane projeke ka lifaele tse tharo:
1. fastlane/Appfile
Ha ho letho le rarahaneng mona. Etsa bonnete ba hore ID ea hau ea Apple le ID ea App li nepahetse.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
e hlalosa mehato ea ho haha. Re sebelisa likarolo tse ngata tse hahelletsoeng ka har'a fastlane, kahoo tsohle li hlakile le mona. Re theha mohala o le mong o amohelang litifikeiti, o etsa kopano ebe o o kenya ho TestFlight. O ka arola ts'ebetso ena ka mesebetsi e fapaneng ha ho hlokahala. Ts'ebetso tsena kaofela (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) li se li kenyelelitsoe ho fastlane.
Liketso get_certificates
и get_provisioning_profile
e amanang le mokhoa oa ho saena
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
Ena ke faele ea boikhethelo, empa ke e thehile ka letsoho ho fetola bukana ea tlhahiso ea kamehla le ho beha tlhahiso foldareng ea hajoale. Sena se nolofatsa CI. Haeba u thahasella, bala ka gym
le liparamente tsa eona ho
https://docs.fastlane.tools/actions/gym/
Rōna .gitlab-ci.yml
Kahoo, re na le semathi sa CI bakeng sa morero ona 'me re itokiselitse ho leka lipeipi. Ha re boneng hore na re na le eng .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
ka ho phetha lenaneo shell
, e le hore re be le sebaka se hloekileng sa ho sebetsa bakeng sa kopano e 'ngoe le e' ngoe, 'me re letse feela flappybuild
fastlane, joalokaha ho bonoa ka holimo. Ka lebaka leo, re fumana kopano, ho saena le ho tsamaisoa ha kopano ea morao-rao ho TestFlight.
Re boetse re fumana artifact mme re e boloka le kopano. Ka kopo hlokomela hore sebopeho .ipa
ke ARM e saennoeng e sebetsang e sa sebetseng ho simulator. Haeba u batla tlhahiso bakeng sa simulator, eketsa feela sepheo sa ho aha se e hlahisang, ebe u se kenyelletsa tseleng ea maiketsetso.
Mefuta e meng ea tikoloho
Ho na le mefuta e 'maloa ea tikoloho mona e etsang hore ntho e' ngoe le e 'ngoe e sebetse.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
Netefatso ea fastlane ea hlokahala ho netefatsa ho App Store le ho e kenya ho TestFlight. Ho etsa sena, theha phasewete bakeng sa ts'ebeliso e tla sebelisoa ho CI. Lintlha
Haeba u na le netefatso ea lintlha tse peli, theha phetoho FASTLANE_SESSION
(litaelo moo).
FASTLANE_USER
и FASTLANE_PASSWORD
hore FASTLANE_USER
и FASTLANE_PASSWORD
. Lintlha
Qetellong
U ka bona kamoo tsohle li sebetsang kateng
Ke ts'epa hore sena se thusitse mme se u khothalelitse ho sebetsa le iOS e ahang morerong oa GitLab. E 'ngoe ke ena CI_BUILD_ID
(for incremental builds) ho
Tšobotsi e 'ngoe e pholileng ea fastlane ke
Re bolelle maikutlong ka boiphihlelo ba hau 'me u arolelane maikutlo a hau ho ntlafatsa GitLab bakeng sa nts'etsopele ea lisebelisoa tsa iOS.
Source: www.habr.com