GitLab-ek fastlane-ekin nola bildu, sinatzen eta argitaratzen dituen iOS aplikazioak App Store-n.
Duela gutxi izan dugu
Hemen hartuko dugu
Apple Store konfigurazioari buruzko hitz batzuk
App Store aplikazioa, banaketa-ziurtagiriak eta hornikuntza-profil bat beharko ditugu dena elkarrekin lotzeko.
Hemen zailena App Store-n sinatzeko eskubideak konfiguratzea da. Espero dut zuk zeuk asmatu dezakezula. Berria bazara, norabide egokian adieraziko dizut, baina ez dugu hemen Apple ziurtagiriak kudeatzeko zailtasunei buruz hitz egingo, eta etengabe aldatzen ari dira. Argitalpen honek hasten lagunduko dizu.
Nire aplikazioak
App Store Connect-en aplikazio bat behar duzu konfiguratzeko ID bat izan dezazun .xcodebuild
. Profila eta aplikazioaren IDak kodearen eraikuntzak, prezioak eta erabilgarritasuna eta TestFlight konfigurazioa konbinatzen ditu probako aplikazioak erabiltzaileei banatzeko. Ez egin proba publikoak, proba pribatuak nahikoa izango dira talde txiki bat baduzu, konfigurazio erraza baduzu eta Apple-ren baimen gehigarririk behar ez baduzu.
Hasierako profila
Aplikazioaren konfigurazioaz gain, Apple Developer kontsolaren Ziurtagiriak, Identifikatzaileak eta Profilak atalean sortutako iOS-en banaketa eta garapen-gakoak behar dituzu. Ziurtagiri horiek guztiak hornidura-profil batean konbina daitezke.
Autentifikatuko diren erabiltzaileek ziurtagiriak sortzeko gai izan behar dute, bestela urratsak
beste aukera
Metodo sinple honetaz gain, ziurtagiriak eta profilak konfiguratzeko beste modu batzuk daude. Beraz, modu ezberdinean lan egiten baduzu, baliteke moldatu egin behar izatea. Garrantzitsuena konfigurazioa behar duzula da .xcodebuild
, beharrezko fitxategiak adieraziko dituena, eta giltza-katea erabilgarri egon behar du eraikitze-ordenagailuan korrikalaria exekutatzen ari den erabiltzailearentzat. Sinadura digitala egiteko fastlane erabiltzen dugu, eta arazoak izanez gero edo gehiago jakin nahi baduzu, begiratu haien xehetasunak
Adibide honetan planteamendua erabiltzen ari naiz
GitLab eta fastlane prestatzen
CI Runner prestatzen
Datu horiek guztiak bilduta, MacOS gailuko GitLab runner-aren konfiguraziora igaroko gara. Zoritxarrez, iOS aplikazioak MacOS-en soilik egin ditzakezu. Baina dena alda daiteke, eta arlo honetan aurrerapena espero baduzu, adi egon horrelako proiektuak
Lasterkaria konfiguratzea oso erraza da. Jarraitu oraingoa
Ohar. Korrikalariak programa exekutagarri bat erabili behar du shell
. Hau beharrezkoa da iOS macOS-en eraikitzeko zuzenean erabiltzaile gisa lan egiteko edukiontzien bidez beharrean. Erabiltzen ari bazara shell
, eraikuntza eta probak korrikalari gisa egiten dira, zuzenean eraikitze-ostalarian. Ez da ontziak bezain segurua, beraz, hobe arakatu
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 ostalari honetan konfiguratu behar da Xcode-k eraiki behar dituen gakoetarako sarbidearekin. Hau probatzeko modurik errazena eraikitzea exekutatuko duen erabiltzaile gisa saioa hastea da eta eskuz eraikitzen saiatzea. Sistemak giltzarako sarbidea eskatzen badu, hautatu Beti Baimendu CI funtziona dezan. Baliteke lehen pare bat kanalizazioak ikustea eta giltza-katea gehiago eskatu ez dezaten ziurtatzeko. Arazoa da Applek ez digula errazten Auto modua erabiltzea, baina behin martxan jarrita, dena ondo egongo da.
fastlane init
Fastlane proiektu batean erabiltzeko, exekutatu fastlane init
. Jarraitu besterik ez dago
Zure proiektuaren direktorioan, exekutatu komando hauek:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
fastlane-k oinarrizko konfigurazio bat eskatuko du eta, ondoren, fastlane karpeta bat sortuko du proiektuan hiru fitxategirekin:
1. fastlane/Appfile
Hemen ez dago ezer konplikaturik. Ziurtatu zure Apple ID eta App ID zuzenak direla.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
eraikitzeko urratsak definitzen ditu. Fastlane-ren integratutako funtzio asko erabiltzen ditugu, beraz, hemen ere dena argi dago. Ziurtagiriak jasotzen, muntaia egiten eta TestFlight-era igotzen duen lerro bat sortzen dugu. Beharrezkoa izanez gero, prozesu hau zeregin ezberdinetan banatu dezakezu. Eragiketa hauek guztiak (get_certificates
, get_provisioning_profile
, gym
ΠΈ upload_to_testflight
) dagoeneko fastlane-n sartuta daude.
Jarduera get_certificates
ΠΈ get_provisioning_profile
sinaduraren ikuspegiari lotuta
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
Aukerako fitxategi bat da, baina eskuz sortu dut irteerako direktorio lehenetsia aldatzeko eta irteera uneko karpetan jartzeko. Horrek CI errazten du. Interesa baduzu, irakurri buruz gym
eta bere parametroak
https://docs.fastlane.tools/actions/gym/
Gurea .gitlab-ci.yml
Beraz, proiekturako CI korrikalari bat dugu eta kanalizazioa probatzeko prest gaude. Ea zer dugun .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
Dena ondo dago! clone
programa exekutatzen duena shell
, batzar bakoitzeko lan-espazio garbi bat izan dezagun, eta besterik gabe deitu flappybuild
fastlane, goian ikusi bezala. Ondorioz, TestFlight-en azken asanbladaren muntaketa, sinadura eta hedapena lortzen dugu.
Artefaktua ere lortzen dugu eta muntaketarekin gordetzen dugu. Kontuan izan formatua dela .ipa
simulagailuan exekutatzen ez den ARM sinatutako exekutagarri bat da. Simulagailurako irteera nahi baduzu, gehitu ekoizten duen eraikitze-helburua eta, ondoren, sartu artefaktu-bidean.
Beste ingurune-aldagai batzuk
Hemen dena funtzionatzen duten ingurune-aldagai pare bat daude.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
ΠΈ FASTLANE_SESSION
Fastlane-rako autentifikazioa beharrezkoa da App Store-n autentifikatu eta TestFlight-era kargatzeko. Horretarako, sortu pasahitz bat CIn erabiliko den aplikaziorako. Xehetasunak
Bi faktoreko autentifikazioa baduzu, sortu aldagai bat FASTLANE_SESSION
(argibideak hor).
FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
That FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
. Xehetasunak
Ondorioz
Guztiak nola funtzionatzen duen ikus dezakezu
Espero dut hau lagungarria izan dela eta GitLab proiektu batean iOS-en eraikuntzarekin lan egitera bultzatu zaituena. Hona hemen beste bat CI_BUILD_ID
(eraikitze inkrementaletarako) to
Fastlane-ren beste ezaugarri polita da
Esan iezaguzu iruzkinetan zure esperientzia eta partekatu iOS aplikazioetarako GitLab hobetzeko zure ideiak.
Iturria: www.habr.com