Çawa GitLab bi fastlane serîlêdanên iOS-ê li App Store-ê berhev dike, îmze dike û diweşîne.
Em vê dawiyê hebûn
Li vir em ê bigirin
Çend gotin li ser veavakirina Apple Store
Em ê hewceyê serîlêdanek App Store-ê, sertîfîkayên belavkirinê, û profîlek dabînkirinê hewce bikin ku her tiştî bi hev re girêbidin.
Tişta herî dijwar li vir sazkirina mafên îmzekirinê di App Store de ye. Ez hêvî dikim ku hûn dikarin vê yekê ji bo xwe fêm bikin. Ger hûn nû ne, ez ê rê li ber we bidim, lê em ê li vir qala tevliheviyên birêvebirina sertîfîkayên Apple-ê nekin, û ew bi domdarî diguhezin. Ev post dê ji we re bibe alîkar ku hûn dest pê bikin.
My Apps
Di App Store Connect-ê de pêdiviya we bi serîlêdanek heye da ku hûn ji bo veavakirinê nasnameyek we hebe .xcodebuild
. Nasnameya profîl û serîlêdanê ji bo belavkirina sepanên ceribandinê li bikarhêneran, avahîyên kodê, biha û hebûna, û veavakirina TestFlight bi hev re dike. Testkirina gelemperî nekin, ceribandina taybet dê têrê bike heke we grûbek piçûk hebe, sazkirina hêsan, û ne hewceyî destûrên zêde ji Apple-ê ne.
Profîla destpêkê
Ji bilî sazkirina sepanê, hûn hewceyê bişkojkên belavkirin û pêşkeftina iOS-ê yên ku di beşa Sertîfîka, Nasname û Profîlên konsolê Pêşdebirê Apple de hatine afirandin hene. Hemî van sertîfîkayan dikarin di profîlek dabînkirinê de bêne hev kirin.
Bikarhênerên ku dê bêne pejirandin hewce ne ku karibin sertîfîkayan biafirînin, wekî din gavan
Vebijarkên din
Ji bilî vê rêbaza hêsan, awayên din jî hene ku hûn sertîfîka û profîlan mîheng bikin. Ji ber vê yekê, heke hûn bi rengek cûda bixebitin, dibe ku hûn neçar bibin ku xwe adapte bikin. Ya herî girîng ev e ku hûn hewceyê veavakirinê ye .xcodebuild
, ya ku dê pelên pêwîst nîşan bide, û zincîra mifteyê divê li ser komputera çêkirî ji bo bikarhênerê ku di bin navê wî de bez dimeşe peyda bibe. Ji bo îmzeya dîjîtal em fastlane bikar tînin, û heke pirsgirêk hebin an hûn dixwazin bêtir zanibin, hûrguliyên wan kontrol bikin
Di vê nimûneyê de ez nêzîkatiyê bikar tînim
Amadekirina GitLab û fastlane
Amadekirina CI Runner
Piştî ku van hemî daneyan berhev kirin, em diçin ser veavakirina gerîdeya GitLab li ser cîhaza MacOS. Mixabin, hûn tenê dikarin serîlêdanên iOS-ê li MacOS-ê çêbikin. Lê her tişt dikare biguhere, û ger hûn li benda pêşkeftina di vî warî de bin, çavê xwe li projeyên mîna bigirin
Sazkirina runner pir hêsan e. Herî dawî bişopînin
Not. The runner divê bernameyeke îcrakar bi kar tînin shell
. Ev pêdivî ye ku iOS-ê li ser macOS-ê ava bike da ku rasterast wekî bikarhênerek ne bi konteyneran bixebite. Heke hûn bikar tînin shell
, avakirin û ceribandin wekî bikarhênerê runner, rasterast li ser mêvandarê çêkirinê têne kirin. Ew wekî konteyneran ne ewle ye, ji ber vê yekê çêtir bigerin
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
Pêdivî ye ku Apple Keychain li ser vê mêvandarê bi gihîştina bişkojkên ku Xcode hewce dike ku ava bike were mîheng kirin. Rêya herî hêsan a ceribandina vê ev e ku meriv wekî bikarhênerê ku dê avahîsaziyê bimeşîne têkeve û hewl bide ku wê bi destan ava bike. Ger pergal ji bo gihîştina zincîra mifteyê bixwaze, Hilbijêre Herdem Destûr bide ku CI bixebite. Dibe ku hêja ye ku hûn biçin hundur û li du lûleyên yekem temaşe bikin da ku pê ewle bibin ku ew êdî zencîra mifteyê nepirsin. Pirsgirêk ev e ku Apple ji me re karanîna moda Auto-yê hêsan nake, lê gava ku hûn wê bi dest bixin, dê her tişt baş be.
fastlane init
Ji bo ku di projeyekê de fastlane bikar bînin, bimeşînin fastlane init
. Tenê bişopînin
Di pelrêça projeya xwe de, van fermanan bimeşînin:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
fastlane dê mîhengek bingehîn bipirse û dûv re di projeyê de peldankek fastlane bi sê pelan biafirîne:
1. fastlane/Appfile
Li vir tiştek tevlihev tune. Tenê piştrast bikin ku ID-a Apple û ID-ya weya App-ê rast in.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
gavên avakirinê diyar dike. Em gelek taybetmendiyên çêkirî yên fastlane bikar tînin, ji ber vê yekê her tişt li vir jî zelal e. Em yek rêzek diafirînin ku sertîfîkayan distîne, civînê pêk tîne û li TestFlight bar dike. Ger hewce be hûn dikarin vê pêvajoyê li karên cûda dabeş bikin. Hemî van operasyonan (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) jixwe di fastlane de hene.
Actions get_certificates
и get_provisioning_profile
bi nêzîkatiya îmzekirinê ve girêdayî ye
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
Ev pelek vebijarkî ye, lê min ew bi destan afirand da ku pelrêça derketinê ya xwerû biguhezîne û encam di peldanka heyî de bi cîh bike. Ev CI hêsan dike. Ger eleqedar be, li ser bixwînin gym
û pîvanên wê di nav de
https://docs.fastlane.tools/actions/gym/
Me .gitlab-ci.yml
Ji ber vê yekê, me ji bo projeyê rêvebirek CI heye û em amade ne ku ceribandina boriyê bikin. Ka em bibînin ka di nav me de çi heye .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
Vîdeo! clone
bi pêkanîna bernameyê shell
, da ku em ji bo her civînê cîhek xebata paqij heye, û bi tenê bang bikin flappybuild
fastlane, wek ku li jor tê dîtin. Wekî encamek, em di TestFlight de civîn, îmzekirin û bicîhkirina civîna herî dawî distînin.
Em eserê jî distînin û bi meclîsê xilas dikin. Ji kerema xwe not bikin ku format .ipa
îcrakarek ARM-ê ya îmzekirî ye ku di simulatorê de naxebite. Heke hûn ji bo simulatorê derketinê dixwazin, tenê armanca avakirina ku wê hildiberîne lê zêde bikin, û dûv re wê têxin nav riya hunerî.
Guherbarên hawirdorê yên din
Li vir çend guhêrbarên jîngehê hene ku her tiştî dixebitîne.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
Nasname ji bo fastlane hewce ye ku di App Store-ê de were pejirandin û li TestFlight were barkirin. Ji bo vê yekê, ji bo serîlêdana ku dê di CI-ê de were bikar anîn şîfreyek biafirînin. Details
Ger rastkirina du-faktorê we heye, guhêrbarek biafirînin FASTLANE_SESSION
(telîmatên li wir).
FASTLANE_USER
и FASTLANE_PASSWORD
ku FASTLANE_USER
и FASTLANE_PASSWORD
. Details
Di encamê de
Hûn dikarin bibînin ka ew hemî çawa dixebite
Ez hêvî dikim ku ev arîkar bû û we teşwîq kir ku hûn bi avahîyên iOS-ê re di projeyek GitLab de bixebitin. Va ye din CI_BUILD_ID
(ji bo avahiyên zêdebûyî) bi
Taybetmendiyek din a xweş a fastlane ev e
Di şîroveyan de li ser ezmûna xwe ji me re vebêjin û ramanên xwe ji bo baştirkirina GitLab ji bo pêşkeftina sepana iOS-ê parve bikin.
Source: www.habr.com