
Si GitLab me fastlane mbledh, nënshkruan dhe publikon aplikacionet iOS në App Store.
Së fundmi kemi pasur me GitLab dhe . Këtu do të shohim se si të ndërtojmë dhe ekzekutojmë një aplikacion iOS dhe ta publikojmë atë në TestFlight. Shikoni sa e lezetshme është , marr montimin dhe marr një përditësim për versionin testues të aplikacionit në të njëjtin iPad Pro ku e kam zhvilluar.
Këtu do të marrim , me të cilin kam regjistruar videon.
Disa fjalë për konfigurimin e Apple Store
Do të na duhet një aplikacion App Store, certifikata shpërndarjeje dhe një profil sigurimi për të lidhur gjithçka.
Gjëja më e vështirë këtu është konfigurimi i të drejtave të nënshkrimit në App Store. Unë shpresoj se ju mund ta kuptoni këtë vetë. Nëse jeni i ri, do t'ju tregoj në drejtimin e duhur, por ne nuk do të flasim këtu për ndërlikimet e menaxhimit të certifikatave të Apple dhe ato po ndryshojnë vazhdimisht. Ky postim do t'ju ndihmojë të filloni.
Aplikacionet e mia
Të duhet një aplikacion në App Store Connect që të kesh një ID për konfigurim .xcodebuild. Profili dhe ID-ja e aplikacionit kombinojnë ndërtimin e kodit, çmimin dhe disponueshmërinë, dhe konfigurimin e TestFlight për shpërndarjen e aplikacioneve testuese te përdoruesit. Mos bëni testime publike, testimi privat do të mjaftojë nëse keni një grup të vogël, konfigurim të lehtë dhe nuk keni nevojë për leje shtesë nga Apple.
Profili i inicializimit
Përveç konfigurimit të aplikacionit, ju nevojiten çelësat e shpërndarjes dhe zhvillimit të iOS të krijuar në seksionin Certifikatat, Identifikuesit dhe Profilet e tastierës Apple Developer. Të gjitha këto certifikata mund të kombinohen në një profil sigurimi.
Përdoruesit që do të vërtetohen duhet të jenë në gjendje të krijojnë certifikata, përndryshe hapat do të shihni një gabim.
opsionet e tjera
Përveç kësaj metode të thjeshtë, ka mënyra të tjera për të konfiguruar certifikatat dhe profilet. Pra, nëse punoni ndryshe, mund t'ju duhet të përshtateni. Gjëja më e rëndësishme është se keni nevojë për konfigurim .xcodebuild, i cili do të tregojë skedarët e nevojshëm, dhe zinxhiri i çelësave duhet të jetë i disponueshëm në kompjuterin e ndërtuar për përdoruesin nën emrin e të cilit funksionon runner. Për nënshkrimin dixhital ne përdorim fastlane, dhe nëse ka probleme ose dëshironi të dini më shumë, shikoni detajet e tyre .
Në këtë shembull unë jam duke përdorur qasjen , por për përdorim real ndoshta është më i përshtatshëm .
Përgatitja e GitLab dhe fastlane
Përgatitja e CI Runner
Pasi të kemi mbledhur të gjitha këto të dhëna, ne kalojmë në konfigurimin e programit GitLab në pajisjen MacOS. Fatkeqësisht, aplikacionet iOS mund të bëhen vetëm në MacOS. Por gjithçka mund të ndryshojë, dhe nëse prisni përparim në këtë fushë, mbani një sy në projekte si и , dhe detyra jonë e brendshme .
Vendosja e vrapuesit është shumë e thjeshtë. Ndiqni rrymën .
Shënim. Vrapuesi duhet të përdorë një program të ekzekutueshëm shellKjo është e nevojshme për ndërtimin e iOS në macOSpër të punuar drejtpërdrejt si përdorues, në vend që të përdorni kontejnerë. Nëse përdorni shell, ndërtimi dhe testimi kryhen si përdorues runner, direkt në hostin e ndërtimit. Nuk është aq i sigurt sa kontejnerët, prandaj më mirë shfletoni kështu që nuk ju mungon asgjë.
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 duhet të konfigurohet në këtë host me akses në çelësat që duhet të ndërtojë Xcode. Mënyra më e lehtë për ta testuar këtë është të identifikohesh si përdorues që do të ekzekutojë ndërtimin dhe të përpiqet ta ndërtojë manualisht. Nëse sistemi kërkon akses te zinxhiri i çelësave, zgjidhni Gjithmonë Lejo që CI të funksionojë. Mund të ia vlen të hysh dhe të shikosh dy tubacionet e para për t'u siguruar që ata të mos kërkojnë më zinxhirin e çelësit. Problemi është se Apple nuk na e bën të lehtë përdorimin e modalitetit automatik, por sapo ta filloni, gjithçka do të jetë mirë.
fastlane init
Për të përdorur fastlane në një projekt, ekzekutoni fastlane init. Vetëm ndiqni , veçanërisht në seksionin rreth , sepse ne kemi nevojë për nisje të shpejtë dhe të parashikueshme përmes një tubacioni të automatizuar CI.
Në drejtorinë e projektit tuaj, ekzekutoni këto komanda:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane initfastlane do të kërkojë një konfigurim bazë dhe më pas do të krijojë një dosje fastlane në projekt me tre skedarë:
1. fastlane/Appfile
Nuk ka asgjë të komplikuar këtu. Vetëm sigurohuni që ID-ja juaj e Apple dhe ID-ja e aplikacionit të jenë të sakta.
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 përcakton hapat e ndërtimit. Ne përdorim shumë veçori të integruara të fastlane, kështu që gjithçka është e qartë edhe këtu. Ne krijojmë një linjë që merr certifikata, kryen montimin dhe e ngarkon atë në TestFlight. Ju mund ta ndani këtë proces në detyra të ndryshme nëse është e nevojshme. Të gjitha këto operacione (get_certificates, get_provisioning_profile, gym и upload_to_testflight) janë përfshirë tashmë në fastlane.
Aktivitet get_certificates и get_provisioning_profile lidhur me qasjen e nënshkrimit . Nëse jeni duke përdorur ose çfarëdo, bëni ndryshime.
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
Ky është një skedar opsional, por e krijova manualisht për të ndryshuar direktorinë e paracaktuar të daljes dhe për ta vendosur daljen në dosjen aktuale. Kjo thjeshton CI. Nëse jeni të interesuar, lexoni rreth gym dhe parametrat e tij në .
https://docs.fastlane.tools/actions/gym/Yni .gitlab-ci.yml
Pra, ne kemi një drejtues CI për projektin dhe jemi gati të testojmë tubacionin. Le të shohim se çfarë kemi në .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.ipaTë gjitha gjërat! , përdorni strategjinë clone me programin ekzekutues shell, në mënyrë që të kemi një hapësirë pune të pastër për çdo montim dhe thjesht telefononi flappybuild fastlane, siç shihet më sipër. Si rezultat, ne marrim montimin, nënshkrimin dhe vendosjen e asamblesë më të fundit në TestFlight.
Ne gjithashtu marrim objektin dhe e ruajmë atë me montim. Ju lutemi vini re se formati .ipa është një ekzekutues i nënshkruar ARM që nuk funksionon në simulator. Nëse dëshironi rezultate për simulatorin, thjesht shtoni objektivin e ndërtimit që e prodhon atë dhe më pas përfshijeni atë në shtegun e objektit.
Variabla të tjerë të mjedisit
Këtu ka disa ndryshore mjedisore që bëjnë gjithçka të funksionojë.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION
Autentifikimi për fastlane kërkohet për të vërtetuar në App Store dhe për të ngarkuar në TestFlight. Për ta bërë këtë, krijoni një fjalëkalim për aplikacionin që do të përdoret në CI. Detajet .
Nëse keni vërtetim me dy faktorë, krijoni një ndryshore FASTLANE_SESSION (udhëzimet atje).
FASTLANE_USER и FASTLANE_PASSWORD
Që quajtur profilin e inicializimit dhe certifikatat sipas kërkesës, ju duhet të vendosni variablat FASTLANE_USER и FASTLANE_PASSWORD. Detajet . Kjo nuk është e nevojshme nëse përdorni një metodë tjetër nënshkrimi.
Në përfundim
Ju mund të shihni se si funksionon e gjitha .
Shpresoj se kjo ishte e dobishme dhe ju frymëzoi për të punuar me ndërtimet e iOS në një projekt GitLab. Këtu është një tjetër për fastlane, për çdo rast. Ju mund të dëshironi të përdorni CI_BUILD_ID (për ndërtime në rritje) për të .
Një tjetër veçori e lezetshme e fastlane është për App Store, të cilat janë shumë të lehta për t'u konfiguruar.
Na tregoni në komente për përvojën tuaj dhe ndani idetë tuaja për përmirësimin e zhvillimit të aplikacionit GitLab për iOS.
Burimi: www.habr.com
