GitLab ine fastlane inounganidza sei, isaina uye inoburitsa iOS zvikumbiro kuApp Store.
Takava nawo nguva pfupi yadarika
Pano tichatora
Mazwi mashoma nezve Apple Store kumisikidza
Tichada app Store app, zvitupa zvekugovera, uye profil yekusunganidza zvese pamwechete.
Chinhu chakanyanya kuoma apa kuseta kodzero dzekusaina muApp Store. Ndinovimba unogona kuzvisarudzira izvi. Kana iwe uri mutsva, ini ndinonongedza iwe munzira kwayo, asi isu hatitaure nezve kuoma kwekutonga Apple zvitupa pano, uye ivo vari kuramba vachichinja. Ichi chinyorwa chichakubatsira iwe kutanga.
Mapurogiramu angu
Iwe unoda app muApp Store Batanidza kuti uve nechitupa chekugadzirisa .xcodebuild
. Iyo mbiri uye application ID inosanganisa kuvaka kodhi, mitengo uye kuwanikwa, uye TestFlight kumisikidza yekugovera bvunzo maapplication kune vashandisi. Usaite bvunzo dzeruzhinji, kuongororwa kwakavanzika kunokwana kana uine boka diki, kuseta kuri nyore, uye usingade mimwe mvumo kubva kuApple.
Initialization profile
Pamusoro pekuseta kweapp, iwe unoda iOS yekugovera uye makiyi ekusimudzira akagadzirwa muChitupa, Identifiers & Profiles chikamu cheApple Developer console. Zvese izvi zvitupa zvinogona kusanganiswa kuita profil yekugovera.
Vashandisi vanozove vechokwadi vanofanirwa kukwanisa kugadzira zvitupa, zvikasadaro matanho
vamwe mikana
Kunze kweiyi nzira iri nyore, kune dzimwe nzira dzekugadzirisa zvitupa nemaprofile. Saka, kana ukashanda zvakasiyana, ungafanira kugadzirisa. Chinhu chinonyanya kukosha ndechekuti iwe unoda configuration .xcodebuild
, iyo inonongedzera kune anodiwa mafaera, uye keychain inofanira kuwanikwa pakuvaka komputa yemushandisi pasi pezita rake mumhanyi ari kumhanya. Kune siginecha yedhijitari tinoshandisa fastlane, uye kana paine matambudziko kana iwe uchida kuziva zvakawanda, tarisa iwo ruzivo
Mumuenzaniso uyu ndiri kushandisa nzira
Kugadzirira GitLab uye fastlane
Kugadzirira CI Runner
Taunganidza data rese iri, tinoenderera mberi nekugadziriswa kweGitLab mumhanyi pane MacOS mudziyo. Nehurombo, iwe unogona chete kugadzira iOS maapplication paMacOS. Asi zvese zvinogona kuchinja, uye kana iwe uchitarisira kufambira mberi munzvimbo ino, ramba uine ziso pamapurojekiti akadai
Kugadzika mumhanyi kuri nyore kwazvo. Tevera zvazvino
Cherechedza. Mumhanyi anofanira kushandisa chirongwa chinogoneka shell
. Izvi zvinodikanwa kuvaka iOS pane macOS kushanda zvakananga semushandisi kwete kuburikidza nemidziyo. Kana uri kushandisa shell
, kuvaka uye kuyedzwa kunoitwa semumhanyi mushandisi, zvakananga pane inovaka. Haina kuchengetedzeka semidziyo, saka zvirinani kutarisa
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 inofanirwa kugadziridzwa pane ino host nekuwana makiyi ayo Xcode inoda kuvaka. Nzira iri nyore yekuyedza iyi ndeyekupinda semushandisi anomhanyisa kuvaka uye kuyedza kuivaka nemaoko. Kana iyo system ichikumbira kuwana keychain, sarudza Nguva dzose Bvumira kuti CI ishande. Zvingave zvakakodzera kuti upinde uye utarise maviri ekutanga emapombi kuti ave nechokwadi chekuti havachabvunzi keychain zvakare. Dambudziko nderekuti Apple haiite kuti zvive nyore kwatiri kuti tishandise Auto mode, asi kana iwe uchinge waita kuti iende, zvese zvichanaka.
fastlane init
Kuti ushandise fastlane mupurojekiti, mhanya fastlane init
. Ingotevera
Mune dhairekitori reprojekiti yako, mhanyisa iyi mirairo:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
fastlane inokumbira kugadziridzwa kwekutanga uye wozogadzira folda yefastlane mupurojekiti ine mafaera matatu:
1. fastlane/Appfile
Hapana chakaoma apa. Ingoita shuwa kuti Apple ID yako uye App ID ndezvechokwadi.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
inotsanangura matanho ekuvaka. Isu tinoshandisa akawanda efastlane akavakirwa-mukati maficha, saka zvese zviri pachena pano futi. Isu tinogadzira mutsara mumwe unogamuchira zvitupa, kuita gungano uye kurodha kuTestFlight. Iwe unogona kugovera iyi nzira mumabasa akasiyana kana zvichidikanwa. Zvese izvi mashandiro (get_certificates
, get_provisioning_profile
, gym
ΠΈ upload_to_testflight
) dzakatobatanidzwa mufastlane.
Zviito get_certificates
ΠΈ get_provisioning_profile
zvine chekuita nekusaina nzira
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
Iri ifaira rekusarudza, asi ndakarigadzira nemaoko kuti ndichinje dhairekitori rekubuda uye nekuisa iyo inobuda muforodha iripo. Izvi zvinorerutsa CI. Kana uchida, verenga nezve gym
uye maparameter ayo mukati
https://docs.fastlane.tools/actions/gym/
Yedu .gitlab-ci.yml
Saka, isu tine CI mumhanyi wepurojekiti uye takagadzirira kuyedza pombi. Ngationei zvatinazvo .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
pamwe nekuita chirongwa shell
, kuitira kuti tive nenzvimbo yekushanda yakachena yegungano rega rega, uye kungofonera flappybuild
fastlane, sezvaonekwa pamusoro. Nekuda kweizvozvo, tinowana gungano, siginecha uye kutumira kwegungano razvino muTestFlight.
Isu tinotorawo artifact uye tinoichengeta pamwe negungano. Ndapota cherechedza kuti chimiro .ipa
ndeye yakasainwa ARM inogoneka iyo isingamhanye mune simulator. Kana iwe uchida kuburitsa kune iyo simulator, ingo wedzera iyo yekuvaka chinangwa chinoigadzira, wobva waisanganisa munzira yekugadzira.
Zvimwe zvakasiyana-siyana zvakatipoteredza
Kune akati wandei emamiriro ekunze akasiyana pano anoita kuti zvese zvishande.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
ΠΈ FASTLANE_SESSION
Kusimbiswa kwefastlane kunodiwa kuti utendeke muApp Store uye kurodha kuTestFlight. Kuti uite izvi, gadzira password yekushandisa iyo ichashandiswa muCI. Details
Kana uine mbiri-chinhu chechokwadi, gadzira shanduko FASTLANE_SESSION
(mirayiridzo ipapo).
FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
kuti FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
. Details
Mukupedzisa
Unogona kuona kuti zvese zvinoshanda sei
Ndinovimba izvi zvaibatsira uye zvakakukurudzira kuti ushande neIOS inovaka muGitLab purojekiti. Hechino chimwe CI_BUILD_ID
(yekuwedzera kuvaka) ku
Chimwe chinhu chinotonhorera chefastlane ndeye
Tiudze mune zvakataurwa nezve ruzivo rwako uye ugovane mazano ako ekuvandudza GitLab ye iOS app kuvandudza.
Source: www.habr.com