Hvernig GitLab með fastlane safnar, undirritar og birtir iOS forrit í App Store.
Við áttum nýlega
Hér munum við taka
Nokkur orð um stillingar Apple Store
Við þurfum App Store app, dreifingarvottorð og úthlutunarsnið til að tengja allt saman.
Það erfiðasta hér er að setja upp undirskriftarréttindi í App Store. Ég vona að þú getir fundið út úr þessu sjálfur. Ef þú ert nýr, mun ég benda þér á rétta átt, en við tölum ekki um ranghala stjórnun Apple vottorða hér, og þau eru stöðugt að breytast. Þessi færsla mun hjálpa þér að byrja.
Forritin mín
Þú þarft app í App Store Connect svo þú hafir auðkenni fyrir uppsetningu .xcodebuild
. Prófíllinn og auðkenni forritsins sameina kóðasmíði, verðlagningu og framboð, og TestFlight stillingar til að dreifa prófunarforritum til notenda. Ekki gera opinber próf, einkapróf duga ef þú ert með lítinn hóp, auðvelda uppsetningu og þarft ekki viðbótarheimildir frá Apple.
Frumstillingarsnið
Til viðbótar við uppsetningu forritsins þarftu iOS dreifingar- og þróunarlykla sem eru búnir til í hlutanum Vottorð, auðkenni og snið á Apple Developer console. Öll þessi vottorð er hægt að sameina í úthlutunarsnið.
Notendur sem verða auðkenndir þurfa að geta búið til vottorð, annars skrefin
aðrir valkostir
Fyrir utan þessa einföldu aðferð eru aðrar leiðir til að stilla vottorð og snið. Svo ef þú vinnur öðruvísi gætirðu þurft að aðlagast. Það mikilvægasta er að þú þarft stillingar .xcodebuild
, sem mun benda á nauðsynlegar skrár, og lyklakippan verður að vera tiltæk á smíðatölvunni fyrir notandann sem hlauparinn er undir nafni. Fyrir stafræna undirskrift notum við fastlane, og ef það eru vandamál eða þú vilt vita meira, skoðaðu upplýsingar þeirra
Í þessu dæmi er ég að nota nálgunina
Undirbúningur GitLab og fastlane
Undirbúningur CI Runner
Eftir að hafa safnað öllum þessum gögnum förum við yfir í uppsetningu GitLab hlauparans á MacOS tækinu. Því miður geturðu aðeins búið til iOS forrit á MacOS. En allt getur breyst og ef þú býst við framförum á þessu sviði skaltu fylgjast með verkefnum eins og
Uppsetning hlauparans er mjög einföld. Fylgstu með núverandi
Athugið. Hlauparinn verður að nota keyranlegt forrit shell
. Þetta er nauðsynlegt til að byggja iOS á macOS til að vinna beint sem notandi frekar en í gegnum gáma. Ef þú ert að nota shell
, bygging og prófun eru framkvæmdar sem hlaupari notandi, beint á bygging hýsil. Það er ekki eins öruggt og ílát, svo betra að fletta
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 verður að vera stillt á þessum gestgjafa með aðgang að lyklunum sem Xcode þarf að smíða. Auðveldasta leiðin til að prófa þetta er að skrá þig inn sem notandinn sem mun keyra smíðina og reyna að smíða hana handvirkt. Ef kerfið biður um aðgang að lyklakippu skaltu velja Always Allow for CI to work. Það gæti verið þess virði að fara inn og horfa á fyrstu leiðslurnar til að ganga úr skugga um að þeir biðji ekki um lyklakippuna lengur. Vandamálið er að Apple gerir okkur ekki auðvelt að nota sjálfvirka stillingu, en þegar þú ert kominn í gang verður allt í lagi.
fastlane init
Til að nota fastlane í verkefni skaltu keyra fastlane init
. Fylgstu bara með
Í verkefnaskránni þinni skaltu keyra þessar skipanir:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
fastlane mun biðja um grunnstillingar og búa síðan til fastlane möppu í verkefninu með þremur skrám:
1. fastlane/Appfile
Hér er ekkert flókið. Gakktu úr skugga um að Apple ID og App ID séu rétt.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
skilgreinir byggingarskrefin. Við notum mikið af innbyggðum eiginleikum fastlane, svo allt er á hreinu hér líka. Við búum til eina línu sem tekur við skírteinum, framkvæmum samsetninguna og hleður upp á TestFlight. Þú getur skipt þessu ferli í mismunandi verkefni ef þörf krefur. Allar þessar aðgerðir (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) eru þegar innifalin í fastlane.
Afþreying get_certificates
и get_provisioning_profile
sem tengist undirritunaraðferðinni
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
Þetta er valfrjáls skrá, en ég bjó hana til handvirkt til að breyta sjálfgefna framleiðsluskránni og setja úttakið í núverandi möppu. Þetta einfaldar CI. Ef þú hefur áhuga, lestu um gym
og breytur þess í
https://docs.fastlane.tools/actions/gym/
Ours .gitlab-ci.yml
Þannig að við erum með CI hlaupara fyrir verkefnið og við erum tilbúin að prófa leiðsluna. Við skulum sjá hvað við höfum í .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
Все отлично! clone
með keyrslu forrits shell
, þannig að við höfum hreint vinnusvæði fyrir hverja samsetningu, og hringjum einfaldlega flappybuild
fastlane, eins og sést hér að ofan. Fyrir vikið fáum við samsetningu, undirskrift og dreifingu á nýjustu samsetningunni í TestFlight.
Við fáum líka gripinn og vistum hann með samsetningunni. Vinsamlegast athugaðu að sniðið .ipa
er undirritaður ARM executable sem keyrir ekki í herminum. Ef þú vilt framleiðsla fyrir herminn, bættu bara við byggingarmarkmiðinu sem framleiðir það og láttu það síðan fylgja með gripslóðinni.
Aðrar umhverfisbreytur
Það eru nokkrar umhverfisbreytur hér sem láta allt virka.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
Auðkenning fyrir fastlane er nauðsynleg til að auðkenna í App Store og hlaða upp á TestFlight. Til að gera þetta skaltu búa til lykilorð fyrir forritið sem verður notað í CI. Upplýsingar
Ef þú ert með tveggja þátta auðkenningu skaltu búa til breytu FASTLANE_SESSION
(leiðbeiningar þar).
FASTLANE_USER
и FASTLANE_PASSWORD
Það FASTLANE_USER
и FASTLANE_PASSWORD
. Upplýsingar
Að lokum
Þú getur séð hvernig þetta virkar allt
Ég vona að þetta hafi verið gagnlegt og veitt þér innblástur til að vinna með iOS smíði í GitLab verkefni. Hér er annað CI_BUILD_ID
(fyrir stigvaxandi byggingar) til
Annar flottur eiginleiki fastlane er
Segðu okkur frá reynslu þinni í athugasemdunum og deildu hugmyndum þínum um að bæta GitLab fyrir iOS app þróun.
Heimild: www.habr.com