
Kuidas GitLab fastlane'iga koostab, allkirjastab ja avaldab iOS rakendusi App Store'is.
Hiljuti oli meil GitLab'i ja . Siin nÀeme, kuidas kokku panna ja kÀivitada iOS rakendus ning avaldada see TestFlight'is. Vaadake, kui Àge , vÔtan koondamise ja saan uuenduse rakenduse testversioonile samas iPad Pro's, kus ma selle loomise lÔpetasin.
Siin lÀhme , millega ma videot salvestasin.
MÔned sÔnad Apple Store'i konfigureerimisest
Me vajame rakendust App Store'is, jaotustunnistusi ja initsialiseerimise profiili, et kÔik kokku siduda.
KĂ”ige raskem on seadistada allkirjastamisĂ”igust App Store'is. Lootan, et saate sellega hakkama. Kui olete algaja, nĂ€itan vajalikku suunda, kuid siin me Apple'i tunnistuste halduse nĂŒanssidest ei rÀÀgi, need muutuvad pidevalt. See postitus aitab teil alustada.
Minu rakendused
Tuleb App Store Connect'i rakendus, et teil oleks ID konfigureerimiseks .xcodebuild. Profiil ja rakenduse ID ĂŒhendavad koodikogumid, hinnad ja saadavuse, samuti TestFlight'i konfigureerimise rakenduste testimiseks kasutajate seas. Ărge tehke avalikku testimist, piisab privaatsetest testidest, kui teil on vĂ€ike grupp, lihtne seadistus ja lisalubade taotlemise vajadus Apple'ilt.
Initsialiseerimise profiil
Peale rakenduse seadistamise on teil vaja jaotustunnistusi ja iOS arendusvÔtmeid, mis on loodud sektsioonis Certificates, Identifiers & Profiles (Tunnistused, Identifikaatorid ja Profiilid) Apple Developer konsoolis. KÔik need tunnistused saab koondada initsialiseerimise profiili.
Kasutajad, kes lÀhevad autentimisele, peavad saama tunnistusi luua, vastasel juhul nÀete etappidel viga.
Teised valikud
Peale selle lihtsa meetodi on ka teisi viise tunnistuste ja profiilide seadistamiseks. Seega, kui töötate teisiti, vĂ”ite vajalikuks pidada ĂŒmber seadistamist. KĂ”ige olulisem - teil on vajalik konfigureerimine. .xcodebuild, mis nĂ€itab vajalikud failid, ja vĂ”tme sidumine peab olema kergesti ligipÀÀsetav ehituse arvutis, kus kasutaja, kelle nime all runner töötab, on sisse logitud. Digitaalallkirja loomiseks kasutame fastlane'i ja kui teil on probleeme vĂ”i soovite rohkem teada, vaadake nende pĂ”hjalikku .
Selles nÀites kasutan lÀhenemist , kuid reaalsetes rakendustes sobib ehk paremini .
GitLabi ja fastlane'i ettevalmistamine
CI Runneri ettevalmistamine
Kogudes kĂ”ik need andmed, liigume edasi GitLab runner'i seadistamise juurde MacOS seadmes. Kahjuks on iOSi rakenduste loomine reaalne ainult MacOS-is. Kuid kĂ”ik vĂ”ib muutuda ja kui ootad arengut, siis jĂ€lgi projekte nagu ja , ja meie siseĂŒlesannet .
Runners'i seadistamine on vÀga lihtne. JÀrgi kaasaegseid .
MÀrkus. Runnery peaks kasutama kÀivitusprogrammi kÀsurea tÔlgendus. See on iOS-i ehitamiseks macOS-is hÀdavajalik, et töötada otse kasutajana, mitte konteinerite kaudu. Kui kasutate kÀsurea tÔlgendus, ehitamine ja testimine toimub runner'i kasutaja nimel otse ehitusmasinas. See ei ole nii turvaline kui konteinerid, seega tasub lugeda , et miski ei jÀÀks tÀhelepanuta.
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'i vĂ”tmeside peab olema seadistatud sellel hostil, et juurdepÀÀsuks oleks vĂ”tmed, mida Xcode vajab ehitamiseks. Lihtsaim viis selle testimiseks on sisse logida kui kasutaja, kes kĂ€ivitab ehituse, ja proovida ehitust kĂ€sitsi teostada. Kui sĂŒsteem kĂŒsib vĂ”tmesideme juurdepÀÀsu, valige âAlati lubadaâ, et CI pĂ”hjalikult töötaks. VĂ”ib-olla tasub sisse logida ja jĂ€lgida esimest paari pipeline'i, et veenduda, et nad enam vĂ”tmeside juurdepÀÀsu ei kĂŒsi. Probleem on selles, et Apple ei tee meile automaatreĆŸiimiga lihtsaks, kuid kui olete selle seadistanud, siis on kĂ”ik korras.
fastlane init
Fastlane'i kasutamiseks projektis kÀivitage fastlane init. Lihtsalt jÀrgige , eriti jaotisest, mis kÀsitleb , kuna me vajame kiiret ja ettearvatavat kÀivitust automaatse CI toru kaudu.
Kataloogis kÀivitage need kÀsud:
xcode-select --install
sudo gem install fastlane -NV
# Alternatiivselt kasutades Homebrew
# brew cask install fastlane
fastlane initfastlane kĂŒsib pĂ”hikonfiguratsiooni ja loob seejĂ€rel projekti kausta fastlane kolme faili jaoks:
1. fastlane/Appfile
Siin ei ole midagi keerulist. Lihtsalt veenduge, et Apple ID ja rakenduse ID on Ôigesti mÀÀratud.
app_identifier("com.vontrance.flappybird") # Teie rakenduse paketi identifikaator
apple_id("your-email@your-domain.com") # Teie Apple'i e-posti aadress2. fastlane/Fastfile
Fastfile mÀÀratleb ehitusetapid. Kasutame palju fastlane'i sisseehitatud funktsioone, nii et siin on samuti kĂ”ik arusaadav. Loome ĂŒhe rea, mis saab sertifikaadid, koostab ja laadib selle TestFlighti. Vajadusel vĂ”ite need protsessid jagada erinevateks ĂŒlesanneteks. KĂ”ik need toimingud (get_certificates, get_provisioning_profile, gym ja upload_to_testflight) kuuluvad juba fastlane'i alla.
Tegevused get_certificates ja get_provisioning_profile on seotud allkirjastamise lÀhenemisega . Kui kasutate vÔi midagi muud, tehke muudatusi.
default_platform(:ios)
platform :ios do
desc "Ehita rakendus"
lane :flappybuild do
get_certificates
get_provisioning_profile
gym
upload_to_testflight
end
end3. fastlane/Gymfile
See on valikuline fail, kuid ma lÔin selle kÀsitsi, et muuta vaikevÀljundkaust ja paigutada vÀljund praegusesse kausta. See lihtsustab CI-d. Kui olete huvitatud, lugege gym ja selle parameetreid dokumentatsioonist .
https://docs.fastlane.tools/actions/gym/Meie .gitlab-ci.yml
Nii et meil on CI-jooksja projektiks ja oleme valmis katsetama torujuhet. Vaadakem, mis meil on .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.ipaKĂ”ik on suurepĂ€rane! , kasutame strateegiat clone tĂ€itva programmiga, kĂ€surea tĂ”lgendustagamaks, et meil on iga koostamise jaoks puhas tööruum, ja lihtsalt kutsume flappybuild fastlane, nagu nĂ€ha ĂŒlal. LĂ”pptulemusena saame kokku panna, allkirjastada ja tootmise viia viimane koostamine TestFlighti.
Saame ka artefakti ja salvestame selle koos koostamisega. Pange tÀhele, et formaat .ipa on allkirjastatud ARM-eÀrisk, mis ei tööta simulaatoris. Kui soovite vÀljundit simulaatori jaoks, lisage lihtsalt koostamis siht, mis seda toodab, ja seejÀrel lisage see artefakti teele.
Teised keskkonnamuutujad
Siin on paar keskkonnamuutujat, mis aitavad kÔike toimida.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD ja FASTLANE_SESSION
App Store'i ja TestFlight'i autentimiseks on vajalik fastlane'i autentimine. Selleks looge rakenduse parool, mida kasutatakse CI-s. Ăksikasjad .
Kui teil on kahefaasiline autentimine, looge muutujad FASTLANE_SESSION (juhised on seal).
FASTLANE_USER ja FASTLANE_PASSWORD
Et kutsuda vĂ€lja algatusprofiil ja sertifikaadid vastavalt nĂ”udmisele, tuleb seadistada muutujad FASTLANE_USER ja FASTLANE_PASSWORD. Ăksikasjad . Seda ei ole vaja, kui kasutate muud allkirjastamismeetodit.
KokkuvÔtteks
Kuidas see kÔik toimib, on nÀha .
Loodan, et see oli kasulik ja inspireeris teid töötama iOS kogumistega GitLab'is. Siin on veel fastlane'i jaoks, igaks juhuks. VÔib-olla soovite kasutada CI_BUILD_ID (inkrementaalse kogumise jaoks), et .
Veel ĂŒks lahe vĂ”imalus fastlane'is on App Store'i jaoks, mida on vĂ€ga lihtne seadistada.
RÀÀkige kommentaarides oma kogemustest ja jagage ideid GitLab'i tÀiustamiseks iOS rakenduste arendamiseks.
Allikas: habr.com
