Sut mae GitLab gyda fastlane yn casglu, arwyddo a chyhoeddi cymwysiadau iOS i'r App Store.
Cawsom yn ddiweddar
Yma byddwn yn cymryd
Ychydig eiriau am gyfluniad Apple Store
Bydd angen ap App Store, tystysgrifau dosbarthu, a phroffil darparu i glymu popeth at ei gilydd.
Y peth anoddaf yma yw sefydlu hawliau arwyddo yn yr App Store. Rwy'n gobeithio y gallwch chi ddarganfod hyn drosoch eich hun. Os ydych chi'n newydd, fe'ch pwyntiaf i'r cyfeiriad cywir, ond ni fyddwn yn siarad am gymhlethdodau rheoli tystysgrifau Apple yma, ac maent yn newid yn gyson. Bydd y swydd hon yn eich helpu i ddechrau arni.
Fy Apps
Mae angen ap arnoch yn App Store Connect fel bod gennych ID ar gyfer cyfluniad .xcodebuild
. Mae'r proffil a'r ID cymhwysiad yn cyfuno adeiladu cod, prisio ac argaeledd, a chyfluniad TestFlight ar gyfer dosbarthu cymwysiadau prawf i ddefnyddwyr. Peidiwch Γ’ gwneud profion cyhoeddus, bydd profion preifat yn ddigon os oes gennych grΕ΅p bach, gosodiad hawdd, ac nad oes angen caniatΓ’d ychwanegol arnoch gan Apple.
Proffil cychwyn
Yn ogystal Γ’ gosod yr ap, mae angen allweddi dosbarthu a datblygu iOS arnoch wedi'u creu yn adran Tystysgrifau, Dynodwyr a Phroffiliau consol Apple Developer. Gellir cyfuno'r holl dystysgrifau hyn yn broffil darpariaeth.
Mae angen i ddefnyddwyr a fydd yn cael eu dilysu allu creu tystysgrifau, fel arall y camau
opsiynau eraill
Heblaw am y dull syml hwn, mae yna ffyrdd eraill o ffurfweddu tystysgrifau a phroffiliau. Felly, os ydych chi'n gweithio'n wahanol, efallai y bydd yn rhaid i chi addasu. Y peth pwysicaf yw bod angen cyfluniad arnoch chi .xcodebuild
, a fydd yn pwyntio at y ffeiliau angenrheidiol, a rhaid i'r keychain fod ar gael ar y cyfrifiadur adeiladu ar gyfer y defnyddiwr y mae'r rhedwr yn rhedeg o dan ei enw. Ar gyfer llofnod digidol rydyn ni'n defnyddio fastlane, ac os oes problemau neu os ydych chi eisiau gwybod mwy, edrychwch ar eu manylion
Yn yr enghraifft hon rwy'n defnyddio'r dull
Paratoi GitLab a fastlane
Paratoi CI Runner
Ar Γ΄l casglu'r holl ddata hwn, symudwn ymlaen i ffurfweddiad y rhedwr GitLab ar y ddyfais MacOS. Yn anffodus, dim ond ar MacOS y gallwch chi wneud apiau iOS. Ond gall popeth newid, ac os ydych chi'n disgwyl cynnydd yn y maes hwn, cadwch lygad ar brosiectau fel
Mae sefydlu'r rhedwr yn syml iawn. Dilynwch gyfredol
Nodyn. Rhaid i'r rhedwr ddefnyddio rhaglen weithredadwy shell
. Mae angen hyn i adeiladu iOS ar macOS i weithio'n uniongyrchol fel defnyddiwr yn hytrach na thrwy gynwysyddion. Os ydych chi'n defnyddio shell
, adeiladu a phrofi yn cael eu perfformio fel y defnyddiwr rhedwr, yn uniongyrchol ar y gwesteiwr adeiladu. Nid yw mor ddiogel Γ’ chynwysyddion, felly gwell pori
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
Rhaid ffurfweddu Apple Keychain ar y gwesteiwr hwn gyda mynediad at yr allweddi y mae angen i Xcode eu hadeiladu. Y ffordd hawsaf o brofi hyn yw mewngofnodi fel y defnyddiwr a fydd yn rhedeg yr adeilad a cheisio ei adeiladu Γ’ llaw. Os yw'r system yn gofyn am fynediad keychain, dewiswch CaniatΓ‘u bob amser i CI weithio. Efallai y byddai'n werth mynd i mewn a gwylio'r cwpl o bibellau cyntaf i wneud yn siΕ΅r nad ydyn nhw'n gofyn am y gadwyn allwedd mwyach. Y drafferth yw nad yw Apple yn ei gwneud hi'n hawdd i ni ddefnyddio modd Auto, ond unwaith y byddwch chi'n ei gael i fynd, bydd popeth yn iawn.
fastlane init
I ddefnyddio fastlane mewn prosiect, rhedeg fastlane init
. Dilynwch
Yn eich cyfeiriadur prosiect, rhedwch y gorchmynion hyn:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
bydd fastlane yn gofyn am gyfluniad sylfaenol ac yna'n creu ffolder fastlane yn y prosiect gyda thair ffeil:
1. fastlane/Appfile
Does dim byd cymhleth yma. Gwnewch yn siΕ΅r bod eich ID Apple a'ch ID App yn gywir.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
yn diffinio'r camau adeiladu. Rydyn ni'n defnyddio llawer o nodweddion adeiledig fastlane, felly mae popeth yn glir yma hefyd. Rydyn ni'n creu un llinell sy'n derbyn tystysgrifau, yn perfformio'r gwasanaeth ac yn ei uwchlwytho i TestFlight. Gallwch rannu'r broses hon yn dasgau gwahanol os oes angen. Mae'r holl weithrediadau hyn (get_certificates
, get_provisioning_profile
, gym
ΠΈ upload_to_testflight
) eisoes wedi'u cynnwys yn fastlane.
Gweithgarwch get_certificates
ΠΈ get_provisioning_profile
gysylltiedig Γ’'r dull arwyddo
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
Mae hon yn ffeil ddewisol, ond fe'i creais Γ’ llaw i newid y cyfeiriadur allbwn rhagosodedig a gosod yr allbwn yn y ffolder gyfredol. Mae hyn yn symleiddio CI. Os oes diddordeb, darllenwch am gym
a'i baramedrau yn
https://docs.fastlane.tools/actions/gym/
Ours .gitlab-ci.yml
Felly, mae gennym rhedwr CI ar gyfer y prosiect ac rydym yn barod i brofi'r biblinell. Gawn ni weld beth sydd gennym ni ynddo .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
gyda rhaglen weithredu shell
, fel bod gennym weithle glΓ’n ar gyfer pob gwasanaeth, a dim ond galw flappybuild
fastlane, fel y gwelir uchod. O ganlyniad, rydym yn cael cynulliad, llofnod a lleoliad y cynulliad diweddaraf yn TestFlight.
Rydyn ni hefyd yn cael yr arteffact a'i gadw gyda'r cynulliad. Sylwch fod y fformat .ipa
yn weithredadwy ARM wedi'i lofnodi nad yw'n rhedeg yn yr efelychydd. Os ydych chi eisiau allbwn ar gyfer yr efelychydd, ychwanegwch y targed adeiladu sy'n ei gynhyrchu, ac yna ei gynnwys yn y llwybr arteffact.
Newidynnau amgylcheddol eraill
Mae yna gwpl o newidynnau amgylchedd yma sy'n gwneud i bopeth weithio.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
ΠΈ FASTLANE_SESSION
Mae angen dilysu fastlane i ddilysu yn yr App Store a'i uwchlwytho i TestFlight. I wneud hyn, crΓ«wch gyfrinair ar gyfer y cais a fydd yn cael ei ddefnyddio yn CI. Manylion
Os oes gennych ddilysiad dau ffactor, crΓ«wch newidyn FASTLANE_SESSION
(cyfarwyddiadau yno).
FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
Bod FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
... Manylion
I gloi
Gallwch weld sut mae'r cyfan yn gweithio
Rwy'n gobeithio bod hyn wedi bod o gymorth ac wedi'ch ysbrydoli i weithio gydag adeiladau iOS mewn prosiect GitLab. Dyma un arall CI_BUILD_ID
(ar gyfer adeiladau cynyddrannol) i
Nodwedd oer arall o fastlane yw
Dywedwch wrthym yn y sylwadau am eich profiad a rhannwch eich syniadau ar gyfer gwella GitLab ar gyfer datblygu apiau iOS.
Ffynhonnell: hab.com