A’ foillseachadh thagraidhean iOS don App Store le GitLab agus fastlane

A’ foillseachadh thagraidhean iOS don App Store le GitLab agus fastlane

Mar a bhios GitLab le fastlane a’ cruinneachadh, a’ soidhnigeadh agus a’ foillseachadh thagraidhean iOS don App Store.

Bha againn o chionn ghoirid post mu mar as urrainn dhut tagradh Android a thogail agus a ruith gu sgiobalta le GitLab agus fastlane. An seo chì sinn mar a thogas agus a ruitheas tu app iOS agus foillsich sinn e gu TestFlight. Feuch dè cho fionnar 'sa tha e Tha mi a’ dèanamh atharrachadh air iPad Pro le GitLab Web IDE, Gabhaidh mi an co-chruinneachadh agus gheibh mi ùrachadh air an tionndadh deuchainn den tagradh air an aon iPad Pro far an do leasaich mi e.

An seo bheir sinn app iOS sìmplidh air Swift, leis an do chlàr mi a’ bhidio.

Beagan fhaclan mu rèiteachadh Apple Store

Bidh feum againn air app App Store, teisteanasan cuairteachaidh, agus ìomhaigh solarachaidh gus a h-uile càil a cheangal ri chèile.

Is e an rud as duilghe an seo còraichean soidhnidh a stèidheachadh anns an App Store. Tha mi an dòchas gun urrainn dhut seo a thuigsinn dhut fhèin. Ma tha thu ùr, seallaidh mi thu anns an t-slighe cheart, ach cha bhith sinn a’ bruidhinn mu na duilgheadasan a th’ ann a bhith a’ riaghladh theisteanasan Apple an seo, agus tha iad an-còmhnaidh ag atharrachadh. Cuidichidh am post seo thu gus tòiseachadh.

Na h-aplacaidean agam

Feumaidh tu app ann an App Store Connect gus am bi ID agad airson rèiteachadh .xcodebuild. Bidh am pròifil agus ID an tagraidh a ’cothlamadh togail còd, prìsean agus ruigsinneachd, agus rèiteachadh TestFlight airson a bhith a’ sgaoileadh thagraidhean deuchainn gu luchd-cleachdaidh. Na dèan deuchainnean poblach, bidh deuchainnean prìobhaideach gu leòr ma tha buidheann bheag agad, suidheachadh furasta, agus mura bheil feum agad air ceadan a bharrachd bho Apple.

Pròifil tòiseachaidh

A bharrachd air suidheachadh na h-aplacaid, feumaidh tu iuchraichean cuairteachaidh is leasachaidh iOS a chaidh a chruthachadh anns an roinn Teisteanasan, Aithneadairean & Pròifilean ann an consol Apple Developer. Faodar na teisteanasan sin uile a chur còmhla ann an ìomhaigh solarachaidh.

Feumaidh luchd-cleachdaidh a thèid a dhearbhadh a bhith comasach air teisteanasan a chruthachadh, air dhòigh eile na ceumannan cert agus osna chì thu mearachd.

roghainnean eile

A bharrachd air an dòigh shìmplidh seo, tha dòighean eile ann airson teisteanasan agus pròifilean a rèiteachadh. Mar sin, ma tha thu ag obair ann an dòigh eadar-dhealaichte, is dòcha gum feum thu atharrachadh. Is e an rud as cudromaiche gum feum thu rèiteachadh .xcodebuild, a chomharraicheas na faidhlichean riatanach, agus feumaidh an keychain a bhith ri fhaighinn air a’ choimpiutair togail airson an neach-cleachdaidh fon ainm a tha an ruitheadair a’ ruith. Airson ainm-sgrìobhte didseatach bidh sinn a’ cleachdadh fastlane, agus ma tha duilgheadasan ann no ma tha thu airson barrachd fhaighinn a-mach, thoir sùil air an fhiosrachadh aca sgrìobhainnean mu ainmean-sgrìobhte didseatach.

Anns an eisimpleir seo tha mi a 'cleachdadh an dòigh-obrach cert agus osna, ach airson fìor chleachdadh is dòcha gu bheil e nas freagarraiche matches.

Ag ullachadh GitLab agus fastlane

Ag ullachadh CI Runner

Às deidh dhuinn an dàta seo gu lèir a chruinneachadh, gluaisidh sinn air adhart gu rèiteachadh an ruitheadair GitLab air inneal MacOS. Gu mì-fhortanach, chan urrainn dhut ach aplacaidean iOS a dhèanamh air macOS. Ach faodaidh a h-uile càil atharrachadh, agus ma tha thu an dùil adhartas san raon seo, cùm sùil air pròiseactan mar x thogail и soidhne, agus ar n-obair a-staigh gitlab-ce#57576.

Tha stèidheachadh an ruitheadair gu math sìmplidh. Lean an t-sruth stiùireadh airson GitLab Runner a stèidheachadh air macOS.

Thoir an aire. Feumaidh an ruitheadair prògram so-ghnìomhaichte a chleachdadh shell. Tha seo riatanach gus iOS a thogail air macOS gus obrachadh gu dìreach mar neach-cleachdaidh seach tro shoithichean. Ma tha thu a 'cleachdadh shell, togail agus deuchainn air an coileanadh mar an neach-cleachdaidh ruith, gu dìreach air an aoigh togail. Chan eil e cho tèarainte ri soithichean, agus mar sin tha e nas fheàrr brobhsadh sgrìobhainnean sàbhailteachdgus nach caill thu dad.

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

Feumaidh Apple Keychain a bhith air a rèiteachadh air an aoigh seo le ruigsinneachd air na h-iuchraichean a dh'fheumas Xcode a thogail. Is e an dòigh as fhasa seo a dhearbhadh logadh a-steach mar an neach-cleachdaidh a ruitheas an togail agus a dh'fheuchas ri a thogail le làimh. Ma dh’ iarras an siostam ruigsinneachd air an keychain, tagh an-còmhnaidh Leig le CI obrachadh. Is dòcha gum b’ fhiach a dhol a-steach agus coimhead air a’ chiad loidhne-phìoban no dhà gus dèanamh cinnteach nach iarr iad an keychain tuilleadh. Is e an trioblaid nach eil Apple ga dhèanamh furasta dhuinn modh fèin-ghluasadach a chleachdadh, ach aon uair ‘s gum faigh thu air adhart, bidh a h-uile dad gu math.

fastlane init

Gus fastlane a chleachdadh ann am pròiseact, ruith fastlane init. Dìreach lean Stiùireadh airson stàladh agus ruith fastlane, gu sònraichte anns an earrann mu dheidhinn Gemfile, oir tha feum againn air cur air bhog luath agus ro-innseach tro loidhne-phìoban CI fèin-ghluasadach.

Anns an eòlaire pròiseict agad, ruith na h-òrdughan seo:

xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init

iarraidh fastlane rèiteachadh bunaiteach agus an uairsin cruthaichidh e pasgan fastlane sa phròiseact le trì faidhlichean:

1. fastlane/Appfile

Chan eil dad iom-fhillte an seo. Dìreach dèan cinnteach gu bheil an ID Apple agus an ID App agad ceart.

app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address

2. fastlane/Fastfile

Fastfile a 'mìneachadh nan ceumannan togail. Bidh sinn a’ cleachdadh mòran de fheartan togte fastlane, agus mar sin tha a h-uile dad soilleir an seo cuideachd. Bidh sinn a’ cruthachadh aon loidhne a gheibh teisteanasan, a’ coileanadh a’ cho-chruinneachaidh agus ga luchdachadh suas gu TestFlight. Faodaidh tu am pròiseas seo a roinn ann an diofar ghnìomhan ma tha sin riatanach. Tha na gnìomhan sin uile (get_certificates, get_provisioning_profile, gym и upload_to_testflight) mu thràth air an toirt a-steach do fastlane.

Gnìomhan get_certificates и get_provisioning_profile co-cheangailte ris an dòigh soidhnidh cert agus osna. Ma tha thu a 'cleachdadh matches no co-dhiù, dèan atharrachaidhean.

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

Is e faidhle roghainneil a tha seo, ach chruthaich mi le làimh e gus an eòlaire toraidh bunaiteach atharrachadh agus an toradh a chuir sa phasgan gnàthach. Bidh seo a’ sìmpleachadh CI. Ma tha ùidh agad, leugh mu dheidhinn gym agus na crìochan aige ann an sgrìobhainnean.

https://docs.fastlane.tools/actions/gym/

Ar .gitlab-ci.yml

Mar sin, tha ruitheadair CI againn airson a’ phròiseict agus tha sinn deiseil airson an loidhne-phìoban a dhearbhadh. Feuch sinn a-mach dè a th' againn ann .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

Все отлично! Shuidhich sinn an cruth gu UTF-8 airson fastlane mar a dh’ fheumar, ro-innleachd a chleachdadh clone le prògram cur-an-gnìomh shell, gus am bi àite-obrach glan againn airson gach co-chruinneachadh, agus dìreach gairm flappybuild fastlane, mar a chithear gu h-àrd. Mar thoradh air an sin, gheibh sinn co-chruinneachadh, ainm-sgrìobhte agus cleachdadh an t-seanaidh as ùire ann an TestFlight.

Bidh sinn cuideachd a 'faighinn an artifact agus ga shàbhaladh leis a' cho-chruinneachadh. Thoir an aire gu bheil an cruth .ipa tha soidhnigeadh ARM so-ghnìomhaichte nach eil a’ ruith san t-simuladair. Ma tha thu ag iarraidh toradh airson an simuladair, dìreach cuir ris an targaid togail a bhios ga dhèanamh, agus an uairsin cuir a-steach e san t-slighe artifact.

Caochladairean àrainneachd eile

Tha caochladair àrainneachd no dhà an seo a bheir air a h-uile càil obrachadh.

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION

Tha feum air dearbhadh airson fastlane gus dearbhadh anns an App Store agus luchdachadh suas gu TestFlight. Gus seo a dhèanamh, cruthaich facal-faire airson an aplacaid a thèid a chleachdadh ann an CI. Mion-fhiosrachadh an seo.

Ma tha dearbhadh dà-fhactaraidh agad, cruthaich caochladair FASTLANE_SESSION (stiùireadh an sin).

FASTLANE_USER и FASTLANE_PASSWORD

gu bheil cert agus osna ris an canar a’ phròifil tòiseachaidh agus teisteanasan ma thèid an iarraidh, feumaidh tu na caochladairean a shuidheachadh FASTLANE_USER и FASTLANE_PASSWORD. Mion-fhiosrachadh an seo. Chan eil seo riatanach ma tha thu a’ cleachdadh dòigh soidhnidh eadar-dhealaichte.

Ann an co-dhùnadh

Chì thu mar a tha e uile ag obair anns an eisimpleir shìmplidh agam.

Tha mi an dòchas gun robh seo cuideachail agus air do bhrosnachadh gu bhith ag obair le iOS builds ann am pròiseact GitLab. Seo fear eile Molaidhean CI airson fastlane, dìreach gun fhios. Is dòcha gu bheil thu airson a chleachdadh CI_BUILD_ID (airson togail mean air mhean) gu dreach àrdachadh fèin-ghluasadach.

Is e feart fionnar eile de fastlane glacaidhean-sgrìn fèin-ghluasadach airson an App Store, a tha gu math furasta a stèidheachadh.

Inns dhuinn anns na beachdan mun eòlas agad agus roinn do bheachdan airson leasachadh GitLab airson leasachadh app iOS.

Source: www.habr.com

Cuir beachd ann