
Kā GitLab ar fastlane apkopo, paraksta un publicē iOS lietojumprogrammas App Store.
Mums nesen bija ar GitLab un . Šeit mēs redzēsim, kā izveidot un palaist iOS lietotni un publicēt to TestFlight. Pārbaudiet, cik tas ir forši , es paņemu montāžu un saņemu lietojumprogrammas testa versijas atjauninājumu tajā pašā iPad Pro, kurā es to izstrādāju.
Šeit mēs ņemsim , ar kuru kopā ierakstīju video.
Daži vārdi par Apple Store konfigurāciju
Lai visu savienotu, mums būs nepieciešama lietotne App Store, izplatīšanas sertifikāti un nodrošināšanas profils.
Sarežģītākā lieta šeit ir parakstīšanas tiesību iestatīšana App Store. Es ceru, ka jūs varat to izdomāt pats. Ja esat jauns, es norādīšu jums pareizo virzienu, taču mēs šeit nerunāsim par Apple sertifikātu pārvaldības sarežģījumiem, un tie pastāvīgi mainās. Šī ziņa palīdzēs jums sākt.
Manas lietotnes
Lai jums būtu ID konfigurācijai, jums ir nepieciešama lietotne pakalpojumā App Store Connect .xcodebuild. Profils un lietojumprogrammas ID apvieno koda būves, cenas un pieejamību, kā arī TestFlight konfigurāciju, lai izplatītu testa lietojumprogrammas lietotājiem. Neveiciet publisku testēšanu, ar privātu testēšanu pietiks, ja jums ir maza grupa, vienkārša iestatīšana un jums nav nepieciešamas papildu Apple atļaujas.
Inicializācijas profils
Papildus lietotņu iestatīšanai jums ir nepieciešamas iOS izplatīšanas un izstrādes atslēgas, kas izveidotas Apple izstrādātāja konsoles sadaļā Sertifikāti, identifikatori un profili. Visus šos sertifikātus var apvienot nodrošināšanas profilā.
Lietotājiem, kuri tiks autentificēti, ir jāspēj izveidot sertifikātus, pretējā gadījumā jāveic darbības jūs redzēsit kļūdu.
citas iespējas
Papildus šai vienkāršajai metodei ir arī citi veidi, kā konfigurēt sertifikātus un profilus. Tātad, ja jūs strādājat savādāk, jums var nākties pielāgoties. Vissvarīgākais ir tas, ka jums ir nepieciešama konfigurācija .xcodebuild, kas norādīs uz nepieciešamajiem failiem, un atslēgu piekariņam jābūt pieejamam būvēšanas datorā lietotājam, ar kura vārdu darbojas skrējējs. Digitālajam parakstam mēs izmantojam fastlane, un, ja rodas problēmas vai vēlaties uzzināt vairāk, pārbaudiet to informāciju .
Šajā piemērā es izmantoju pieeju , bet reālai lietošanai tas, iespējams, ir labāk piemērots .
Notiek GitLab un fastlane sagatavošana
Notiek CI Runner sagatavošana
Pēc visu šo datu apkopošanas mēs pārejam pie GitLab skrējēja konfigurācijas MacOS ierīcē. Diemžēl iOS lietotnes var izveidot tikai operētājsistēmā MacOS. Bet viss var mainīties, un, ja sagaidāt progresu šajā jomā, sekojiet līdzi tādiem projektiem kā и , un mūsu iekšējais uzdevums .
Skrējēja iestatīšana ir ļoti vienkārša. Sekojiet pašreizējam .
Piezīme. Skrējējam ir jāizmanto izpildāma programma shellTas ir nepieciešams iOS izveidei macOSstrādāt tieši kā lietotājam, nevis caur konteineriem. Ja izmantojat shell, izveide un testēšana tiek veikta kā palaidējs lietotājs tieši būvējuma resursdatorā. Tas nav tik drošs kā konteineri, tāpēc labāk pārlūkojiet tāpēc neko nepalaid garām.
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 startApple Keychain ir jākonfigurē šajā resursdatorā ar piekļuvi atslēgām, kas Xcode ir jāizveido. Vienkāršākais veids, kā to pārbaudīt, ir pieteikties kā lietotājam, kurš veiks būvējumu, un mēģināt to izveidot manuāli. Ja sistēma pieprasa piekļuvi atslēgu piekariņam, atlasiet Vienmēr atļaut, lai CI darbotos. Iespējams, ir vērts ieiet un noskatīties pirmos pāris cauruļvadus, lai pārliecinātos, ka tie vairs neprasa atslēgu piekariņu. Problēma ir tā, ka Apple neļauj mums ērti izmantot automātisko režīmu, taču, tiklīdz to aktivizēsit, viss būs kārtībā.
fastlane init
Lai projektā izmantotu fastlane, palaidiet fastlane init. Vienkārši sekojiet , īpaši sadaļā par , jo mums ir nepieciešama ātra un paredzama palaišana, izmantojot automatizētu CI konveijeru.
Projekta direktorijā palaidiet šīs komandas:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane initfastlane pieprasīs pamata konfigurāciju un pēc tam projektā izveidos fastlane mapi ar trim failiem:
1. fastlane/Appfile
Šeit nav nekā sarežģīta. Vienkārši pārliecinieties, vai jūsu Apple ID un lietotnes ID ir pareizi.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("your-email@your-domain.com") # Your Apple email address2. fastlane/Fastfile
Fastfile nosaka izveides soļus. Mēs izmantojam daudz fastlane iebūvēto funkciju, tāpēc arī šeit viss ir skaidrs. Mēs izveidojam vienu līniju, kas saņem sertifikātus, veic montāžu un augšupielādē to TestFlight. Ja nepieciešams, šo procesu var sadalīt dažādos uzdevumos. Visas šīs operācijas (get_certificates, get_provisioning_profile, gym и upload_to_testflight) jau ir iekļauti fastlane.
Aktivitāte get_certificates и get_provisioning_profile kas saistīti ar parakstīšanas pieeju . Ja jūs lietojat vai kā citādi, veiciet izmaiņas.
default_platform(:ios)
platform :ios do
desc "Build the application"
lane :flappybuild do
get_certificates
get_provisioning_profile
gym
upload_to_testflight
end
end3. fastlane/Gymfile
Šis ir neobligāts fails, taču es to izveidoju manuāli, lai mainītu noklusējuma izvades direktoriju un ievietotu izvadi pašreizējā mapē. Tas vienkāršo CI. Ja interesē, lasiet par gym un tā parametri .
https://docs.fastlane.tools/actions/gym/Mūsējais .gitlab-ci.yml
Tātad, mums ir CI vadītājs projektam, un mēs esam gatavi pārbaudīt cauruļvadu. Paskatīsimies, kas mums ir iekšā .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.ipaViss ir lieliski! , izmantojiet stratēģiju clone ar izpildprogrammu shell, lai mums būtu tīra darba vieta katrai montāžai, un vienkārši zvaniet flappybuild fastlane, kā redzams iepriekš. Rezultātā mēs iegūstam jaunākās komplektācijas montāžu, parakstu un izvietošanu pakalpojumā TestFlight.
Mēs arī iegūstam artefaktu un saglabājam to kopā ar montāžu. Lūdzu, ņemiet vērā, ka formāts .ipa ir parakstīts ARM izpildāmais fails, kas nedarbojas simulatorā. Ja vēlaties simulatora izvadi, vienkārši pievienojiet būvējuma mērķi, kas to rada, un pēc tam iekļaujiet to artefakta ceļā.
Citi vides mainīgie
Šeit ir daži vides mainīgie, kas liek visam darboties.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION
Fastlane autentifikācija ir nepieciešama, lai autentificētos App Store un augšupielādētu pakalpojumā TestFlight. Lai to izdarītu, izveidojiet paroli lietojumprogrammai, kas tiks izmantota CI. Sīkāka informācija .
Ja jums ir divu faktoru autentifikācija, izveidojiet mainīgo FASTLANE_SESSION (norādījumi tur).
FASTLANE_USER и FASTLANE_PASSWORD
Ka ko sauc par inicializācijas profilu un sertifikātiem pēc pieprasījuma, ir jāiestata mainīgie FASTLANE_USER и FASTLANE_PASSWORD. Sīkāka informācija . Tas nav nepieciešams, ja izmantojat citu parakstīšanas metodi.
Noslēgumā
Jūs varat redzēt, kā tas viss darbojas .
Es ceru, ka tas bija noderīgs un iedvesmoja jūs strādāt ar iOS versijām GitLab projektā. Šeit ir vēl viens par fastlane, katram gadījumam. Jūs varētu vēlēties izmantot CI_BUILD_ID (papildu veidojumiem) uz .
Vēl viena lieliska fastlane iezīme ir App Store, kuras ir ļoti viegli iestatīt.
Pastāstiet mums komentāros par savu pieredzi un dalieties idejās par GitLab uzlabošanu iOS lietotņu izstrādei.
Avots: www.habr.com
