iOS aplikazioak App Store-n argitaratzea GitLab eta fastlane-rekin

iOS aplikazioak App Store-n argitaratzea GitLab eta fastlane-rekin

GitLab-ek fastlane-ekin nola bildu, sinatzen eta argitaratzen dituen iOS aplikazioak App Store-n.

Duela gutxi izan dugu argitaratu Android aplikazio bat azkar eraiki eta exekutatu nola exekutatu GitLab-ekin eta bide azkarra. Hemen ikusiko dugu nola sortu eta exekutatu iOS aplikazio bat eta nola argitaratu TestFlight-en. Begiratu zein polita den Aldaketa bat egiten ari naiz iPad Pro batean GitLab Web IDE-rekin, muntaia hartu eta aplikazioaren probako bertsioaren eguneratzea lortzen dut garatu nuen iPad Pro berean.

Hemen hartuko dugu Swift-en iOS aplikazio sinplea, norekin grabatu nuen bideoa.

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 cert eta hasperen errore bat ikusiko duzu.

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 sinadura digitalari buruzko dokumentazioa.

Adibide honetan planteamendua erabiltzen ari naiz cert eta hasperen, baina benetako erabilerarako seguruenik hobea da partidaren.

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 xcbuild ΠΈ sinatu, eta gure barne zeregina gitlab-ce#57576.

Lasterkaria konfiguratzea oso erraza da. Jarraitu oraingoa GitLab Runner macOS-en konfiguratzeko argibideak.

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 segurtasun dokumentazioaberaz, ez duzu ezer galdu.

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 fastlane instalatzeko eta exekutatzeko argibideak, batez ere, buruzko atalean Gema fitxategia, abiarazte azkarra eta aurreikusgarria behar dugulako CI kanalizazio automatizatu baten bidez.

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 cert eta hasperen. Erabiltzen ari bazara partidaren edo dena delakoa, aldaketak egin.

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 dokumentazioa.

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! Formatua UTF-8-n ezarri dugu fastlane-rako behar den moduan, estrategia erabili 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 Hemen.

Bi faktoreko autentifikazioa baduzu, sortu aldagai bat FASTLANE_SESSION (argibideak hor).

FASTLANE_USER ΠΈ FASTLANE_PASSWORD

That cert eta hasperen hasierako profila eta ziurtagiriak eskatuz gero, aldagaiak ezarri behar dituzu FASTLANE_USER ΠΈ FASTLANE_PASSWORD. Xehetasunak Hemen. Hau ez da beharrezkoa sinatzeko beste metodo bat erabiltzen ari bazara.

Ondorioz

Guztiak nola funtzionatzen duen ikus dezakezu nire adibide sinplean.

Espero dut hau lagungarria izan dela eta GitLab proiektu batean iOS-en eraikuntzarekin lan egitera bultzatu zaituena. Hona hemen beste bat CI aholkuak fastlanerako, badaezpada. Baliteke erabili nahi izatea CI_BUILD_ID (eraikitze inkrementaletarako) to automatikoki handitu bertsioa.

Fastlane-ren beste ezaugarri polita da pantaila-argazki automatikoak App Storerako, oso erraz konfiguratzen direnak.

Esan iezaguzu iruzkinetan zure esperientzia eta partekatu iOS aplikazioetarako GitLab hobetzeko zure ideiak.

Iturria: www.habr.com

Gehitu iruzkin berria