Feidhmchláir iOS a fhoilsiú chuig an App Store le GitLab agus fastlane

Feidhmchláir iOS a fhoilsiú chuig an App Store le GitLab agus fastlane

Mar a bhailíonn, a shíníonn agus a fhoilsíonn GitLab le fastlane feidhmchláir iOS chuig an App Store.

Bhí orainn le déanaí post faoi conas feidhmchlár Android a thógáil agus a rith go tapa le GitLab agus mearlán. Anseo feicfimid conas aip iOS a thógáil agus a rith agus é a fhoilsiú chuig TestFlight. Seiceáil cé chomh fionnuar agus atá sé Tá mé ag déanamh athrú ar iPad Pro le GitLab Web IDE, Glacaim an tionól agus faighim nuashonrú ar an leagan tástála den fheidhmchlár ar an iPad Pro céanna nuair a d'fhorbair mé é.

Anseo tógfaimid feidhmchlár simplí iOS ar Swift, lena thaifead mé an físeán.

Cúpla focal faoi chumraíocht Apple Store

Beidh aip App Store, teastais dáileacháin, agus próifíl soláthair ag teastáil uainn chun gach rud a cheangal le chéile.

Is é an rud is deacra anseo ná cearta sínithe a bhunú san App Store. Tá súil agam gur féidir leat é seo a dhéanamh amach duit féin. Más rud é go bhfuil tú nua, díreoidh mé tú sa treo ceart, ach ní bheidh muid ag caint faoi na castaí a bhaineann le deimhnithe Apple a bhainistiú anseo, agus tá siad ag athrú i gcónaí. Cabhróidh an post seo leat tosú.

Mo Aipeanna

Teastaíonn aip uait in App Store Connect ionas go mbeidh ID agat le haghaidh cumraíochta .xcodebuild. Comhcheanglaíonn an phróifíl agus ID feidhmchláir tógann cód, praghsáil agus infhaighteacht, agus cumraíocht TestFlight chun feidhmchláir thástála a dháileadh ar úsáideoirí. Ná déan tástáil phoiblí, is leor tástáil phríobháideach má tá grúpa beag, socrú simplí agat, agus mura bhfuil cead breise uait ó Apple.

Próifíl tosaithe

Chomh maith le socrú na haipe, beidh eochracha dáileacháin agus forbartha iOS uait a cruthaíodh sa rannóg Deimhnithe, Aitheantóirí & Próifílí de chonsól Apple Developer. Is féidir na deimhnithe seo go léir a chomhcheangal i bpróifíl soláthair.

Ní mór d'úsáideoirí a bheidh fíordheimhnithe a bheith in ann deimhnithe a chruthú, ar shlí eile na céimeanna cert agus osna feicfidh tú earráid.

roghanna eile

Seachas an modh simplí seo, tá bealaí eile ann chun deimhnithe agus próifílí a chumrú. Mar sin, má oibríonn tú ar bhealach difriúil, b'fhéidir go gcaithfidh tú oiriúnú. Is é an rud is tábhachtaí ná gur gá duit cumraíocht .xcodebuild, a chuirfidh in iúl na comhaid riachtanacha, agus ní mór go mbeadh an keychain ar fáil ar an ríomhaire tógála don úsáideoir a bhfuil an rádala ag rith faoina ainm. Le haghaidh síniú digiteach bainimid úsáid as fastlane, agus má tá fadhbanna ann nó má tá tuilleadh eolais uait, seiceáil a gcuid sonraí doiciméadú faoi shínithe digiteacha.

Sa sampla seo tá mé ag baint úsáide as an gcur chuige cert agus osna, ach d'úsáid fíor is dócha go mbeidh sé níos oiriúnaí mheaitseáil.

GitLab agus fastlane a ullmhú

Runner CI a ullmhú

Tar éis na sonraí seo go léir a bhailiú, bogaimid ar aghaidh chuig cumraíocht an rádala GitLab ar an ngléas MacOS. Ar an drochuair, ní féidir leat ach apps iOS a dhéanamh ar MacOS. Ach is féidir gach rud a athrú, agus má tá tú ag súil le dul chun cinn sa réimse seo, coinnigh súil ar thionscadail mar xcbhail и comhartha, agus ár dtasc inmheánach gitlab- ce#57576.

Tá sé an-simplí an rádala a shocrú. Lean a dhéanaí treoracha chun GitLab Runner a bhunú ar macOS.

Nóta. Caithfidh an rádala clár inrite a úsáid shell. Tá sé seo ag teastáil chun iOS a thógáil ar macOS chun oibriú go díreach mar úsáideoir seachas trí choimeádáin. Má tá tú ag úsáid shell, déantar tógáil agus tástáil mar an t-úsáideoir rádala, go díreach ar an óstach tógála. Níl sé chomh slán le coimeádáin, mar sin is fearr brabhsáil doiciméadú sábháilteachtamar sin ní chailleann tú rud ar bith.

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

Ní mór Apple Keychain a chumrú ar an óstach seo le rochtain ar na heochracha a chaithfidh Xcode a thógáil. Is é an bealach is éasca chun é seo a thástáil ná logáil isteach mar an t-úsáideoir a reáchtálfaidh an tógáil agus a dhéanfaidh iarracht é a thógáil de láimh. Má iarrann an córas rochtain ar an keychain, roghnaigh i gcónaí Ceadaigh do CI oibriú. B'fhéidir gur fiú dul isteach agus breathnú ar na chéad chúpla píblínte chun a chinntiú nach n-iarrfaidh siad an eochairshlabhra a thuilleadh. Is é an deacracht nach ndéanann Apple éasca dúinn mód Uathoibríoch a úsáid, ach a luaithe a gheobhaidh tú é, beidh gach rud go breá.

fastlane init

Chun fastlane a úsáid i dtionscadal, rith fastlane init. Just a leanúint Treoracha le haghaidh suiteáil agus rith fastlane, go háirithe sa rannóg faoi Gemfile, toisc go bhfuil gá againn le seoladh tapa agus intuartha trí phíblíne CI uathoibrithe.

I do eolaire tionscadail, rith na horduithe seo:

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

iarrfaidh fastlane cumraíocht bhunúsach agus ansin cruthóidh sé fillteán fastlane sa tionscadal le trí chomhad:

1. fastlane/Appfile

Níl aon rud casta anseo. Just a dhéanamh cinnte go bhfuil do Apple ID agus App ID ceart.

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

2. fastlane/Fastfile

Fastfile sainmhíníonn na céimeanna tógála. Bainimid úsáid as go leor gnéithe ionsuite fastlane, mar sin tá gach rud soiléir anseo freisin. Cruthaímid líne amháin a fhaigheann teastais, a dhéanann an tionól agus a uaslódáil chuig TestFlight. Is féidir leat an próiseas seo a roinnt ina thascanna éagsúla más gá. Na hoibríochtaí seo go léir (get_certificates, get_provisioning_profile, gym и upload_to_testflight) san áireamh cheana féin i fastlane.

Gníomhaíocht get_certificates и get_provisioning_profile a bhaineann leis an gcur chuige sínithe cert agus osna. Má tá tú ag úsáid mheaitseáil nó cibé, athruithe a dhéanamh.

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 comhad roghnach é seo, ach chruthaigh mé é de láimh chun an t-eolaire aschuir réamhshocraithe a athrú agus an t-aschur a chur san fhillteán reatha. Déanann sé seo CI a shimpliú. Má tá suim agat, léigh faoi gym agus a paraiméadair i doiciméadú.

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

Linne .gitlab-ci.yml

Mar sin, tá rádala CI againn don tionscadal agus táimid réidh chun an píblíne a thástáil. Féachaimis cad atá againn i .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

Все отлично! Shocraigh muid an fhormáid go UTF-8 do fastlane de réir mar is gá, straitéis a úsáid clone le clár forghníomhaitheach shell, ionas go mbeidh spás oibre glan againn do gach tionól, agus go simplí glaoch flappybuild fastlane, mar atá le feiceáil thuas. Mar thoradh air sin, faigheann muid an tionól, síniú agus imscaradh an tionól is déanaí i TestFlight.

Faighimid an Déantán freisin agus é a shábháil leis an tionól. Tabhair faoi deara go bhfuil an fhormáid .ipa is ARM sínithe inrite nach ritheann san insamhlóir. Más mian leat aschur don Insamhlóir, cuir an sprioc tógála a tháirgeann é, agus ansin é a chur san áireamh sa chonair Déantán.

Athróga timpeallachta eile

Tá cúpla athróg timpeallachta anseo a fhágann go n-oibríonn gach rud.

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION

Teastaíonn fíordheimhniú le haghaidh fastlane chun fíordheimhniú a dhéanamh san App Store agus é a uaslódáil chuig TestFlight. Chun seo a dhéanamh, cruthaigh pasfhocal don fheidhmchlár a úsáidfear in CI. Sonraí anseo.

Má tá fíordheimhniú dhá fhachtóir agat, cruthaigh athróg FASTLANE_SESSION (treoracha ann).

FASTLANE_USER и FASTLANE_PASSWORD

Sin cert agus osna ar a dtugtar an phróifíl initialization agus deimhnithe arna iarraidh sin, ní mór duit a shocrú ar na hathróga FASTLANE_USER и FASTLANE_PASSWORD. Sonraí anseo. Níl sé seo riachtanach má tá modh sínithe eile á úsáid agat.

Mar fhocal scoir

Is féidir leat a fheiceáil conas a oibríonn sé go léir i mo shampla simplí.

Tá súil agam go raibh sé seo ina chuidiú agus gur spreag tú oibriú le foirgnimh iOS i dtionscadal GitLab. Seo ceann eile Leideanna CI le haghaidh fastlane, ar eagla na heagla. B'fhéidir gur mhaith leat úsáid a bhaint as CI_BUILD_ID (le haghaidh tógála incriminteach) chun leagan incrimint uathoibríoch.

Is gné eile fionnuar de fastlane screenshots uathoibríoch don App Store, atá an-éasca a chur ar bun.

Inis dúinn sna tuairimí faoi do thaithí agus roinn do chuid smaointe maidir le feabhas a chur ar GitLab d'fhorbairt aipeanna iOS.

Foinse: will.com

Add a comment