Giunsa ang GitLab nga adunay fastlane sa pagkolekta, pagpirma ug pagmantala sa mga iOS app sa App Store.
Bag-ohay lang mi
Dinhi atong kuhaon
Pipila ka mga pulong bahin sa pag-configure sa Apple Store
Kinahanglan namon ang usa ka app sa App Store, mga sertipiko sa pag-apod-apod, ug usa ka profile sa paghatag aron mahiusa ang tanan.
Ang labing lisud nga butang dinhi mao ang pag-set up sa mga permiso sa pagpirma sa App Store. Nanghinaut ko nga mahunahuna nimo kini sa imong kaugalingon. Kung bag-o ka, itudlo ko ikaw sa husto nga direksyon, apan dili kami maghisgot bahin sa mga kakuti sa pagdumala sa mga sertipiko sa Apple dinhi, ug kini kanunay nga nagbag-o. Kini nga post makatabang kanimo sa pagsugod.
Akong Apps
Kinahanglan ug app sa App Store Connect para naay ID nga i-configure .xcodebuild
. Ang profile sa app ug ID naghiusa sa mga pagtukod sa code, pagpresyo ug pagkaanaa, ug ang configuration sa TestFlight alang sa pag-apod-apod sa mga test app ngadto sa mga tiggamit. Ayaw paghimo sa publiko nga pagsulay, ang pribado nga pagsulay igo na kung ikaw adunay gamay nga grupo, yano nga pag-setup ug wala magkinahanglan dugang nga pagtugot gikan sa Apple.
Profile sa paghatag
Dugang sa pag-setup sa app, kinahanglan nimo ang pag-apod-apod sa iOS ug mga yawe sa pag-uswag nga gihimo sa seksyon sa Mga Sertipiko, Mga Identifier & Profile sa Apple Developer console. Ang tanan niini nga mga sertipiko mahimong mahiusa sa usa ka provisioning profile.
Ang mga tiggamit nga ma-authenticate nanginahanglan ug abilidad sa paghimo og mga sertipiko, kung dili ang mga lakang
sa uban nga mga kapilian sa
Gawas niining yano nga pamaagi, adunay ubang mga paagi sa pag-set up sa mga sertipiko ug mga profile. Busa, kung lahi ang imong pagtrabaho, kinahanglan nimo nga mag-adjust. Labing hinungdanon, kinahanglan nimo ang usa ka pag-configure .xcodebuild
, nga magtudlo sa gikinahanglan nga mga file, ug ang keychain kinahanglang anaa sa build computer alang sa user nga ubos sa iyang ngalan ang runner nagdagan. Gigamit namo ang fastlane para sa digital signing, ug kung naa kay mga problema o gusto nga makahibalo pa, tan-awa ang ilang detalyado
Sa kini nga pananglitan gigamit nako ang pamaagi
Pag-andam sa GitLab ug fastlane
Pag-andam sa CI Runner
Sa pagkolekta sa tanan niini nga datos, nagpadayon kami sa pag-configure sa GitLab runner sa usa ka MacOS device. Ikasubo, ang paghimo sa iOS apps posible lamang sa MacOS. Apan mahimoβg mabag-o ang tanan, ug kung naghulat ka alang sa pag-uswag sa kini nga lugar, sunda ang mga proyekto sama
Ang pag-set up sa runner sayon ββra kaayo. Sunda ang pinakabag-o
Nota. Ang magdadagan kinahanglang mogamit ug executing program shell
. Gikinahanglan kini aron matukod ang iOS sa macOS aron direktang magtrabaho isip usa ka tiggamit ug dili pinaagi sa mga sudlanan. Kung ikaw naggamit shell
, ang pagtukod ug pagsulay gihimo ingon nga tiggamit sa runner, diha mismo sa build host. Dili kini luwas sama sa mga sudlanan, busa mas maayo nga imong i-flip
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
Ang Apple Keychain kinahanglan nga i-set up sa kini nga host nga adunay access sa mga yawe nga kinahanglan nga tukuron sa Xcode. Ang labing sayon ββββnga paagi sa pagsulay niini mao ang pag-log in isip user nga modagan sa pagtukod ug mosulay sa pagtukod sa mano-mano. Kung ang sistema mangayo alang sa pag-access sa keychain, pilia ang "Kanunay itugot" aron magtrabaho ang CI. Mahimong angayan nga mosulod ug motan-aw sa unang parisan sa mga pipeline aron masiguro nga dili na sila mangayo og keychain. Ang problema kay wala gipasayon ββsa Apple para namo ang pagtrabaho gamit ang automatic mode, pero kung ma-set up na nimo, mamaayo ra ang tanan.
fastlane init
Aron magamit ang fastlane sa usa ka proyekto, pagdagan fastlane init
. Sunda lang
Sa direktoryo sa proyekto, padagana kini nga mga sugo:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
Ang fastlane mangayo ug usa ka sukaranan nga pag-configure ug dayon maghimo usa ka folder nga fastlane sa proyekto nga adunay tulo nga mga file:
1. fastlane/Appfile
Walay bisan unsa nga komplikado dinhi. Siguruha lang nga husto ang imong Apple ID ug 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
naghubit sa mga lakang sa pagtukod. Gigamit namo ang daghang mga built-in nga feature sa fastlane, mao nga klaro usab ang tanan dinhi. Naghimo kami usa ka linya nga nakadawat mga sertipiko, nagtukod ug nag-upload niini sa TestFlight. Mahimo nimong bahinon kini nga proseso sa lainlaing mga buluhaton kung gikinahanglan. Kining tanan nga mga operasyonget_certificates
, get_provisioning_profile
, gym
ΠΈ upload_to_testflight
) naapil na sa fastlane.
Mga aksyon get_certificates
ΠΈ get_provisioning_profile
nalangkit sa pamaagi sa pagpirma
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
Kini usa ka opsyonal nga file, apan gibuhat ko kini nga mano-mano aron usbon ang default nga direktoryo sa output ug ibutang ang output sa kasamtangan nga folder. Gipasimple niini ang CI. Kung interesado, basaha ang bahin gym
ug ang mga parametro niini sa
https://docs.fastlane.tools/actions/gym/
Atong .gitlab-ci.yml
Busa, kami adunay usa ka CI runner alang sa proyekto ug kami andam sa pagsulay sa pipeline. Atong tan-awon kon unsa ang anaa kanato .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
uban sa pagpatuman sa programa shell
aron kita adunay usa ka limpyo nga workspace alang sa matag pagtukod, ug tawag lang flappybuild
fastlane sama sa makita sa ibabaw. Ingon usa ka sangputanan, nakuha namon ang asembliya, pirma ug pag-deploy sa labing bag-ong asembliya sa TestFlight.
Nagkuha usab kami usa ka artifact ug gitipigan kini sa asembliya. Timan-i nga ang format .ipa
usa ka gipirmahan nga ARM executable nga dili modagan sa simulator. Kung gusto nimo ang output sa simulator, idugang lang ang target sa pagtukod nga nagpatungha niini, ug dayon ilakip kini sa agianan sa artifact.
Ang ubang mga variable sa palibot
Adunay usa ka magtiayon nga mga variable sa palibot dinhi nga ang tanan molihok.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
ΠΈ FASTLANE_SESSION
Aron ma-authenticate sa App Store ug ma-upload sa TestFlight, kinahanglan nimo ang authentication para sa fastlane. Aron mahimo kini, paghimo og password sa aplikasyon nga gamiton sa CI. Mga Detalye
Kung naa kay two-factor authentication, paghimo ug variable FASTLANE_SESSION
(mga instruksyon didto).
FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
nga FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
. Mga Detalye
Sa konklusyon
Imong makita kung giunsa kini tanan molihok
Nanghinaut ko nga kini makatabang ug nakadasig kanimo sa pagtrabaho uban sa mga gitukod sa iOS sa proyekto sa GitLab. Ania ang lain CI_BUILD_ID
(alang sa incremental nga mga pagtukod) sa
Ang laing cool nga bahin sa fastlane mao ang
Sultihi kami bahin sa imong kasinatian sa mga komento ug pagpaambit sa mga ideya alang sa pagpalambo sa GitLab alang sa pagpalambo sa app sa iOS.
Source: www.habr.com