Famoahana fampiharana iOS amin'ny App Store miaraka amin'ny GitLab sy fastlane

Famoahana fampiharana iOS amin'ny App Store miaraka amin'ny GitLab sy fastlane

Ahoana ny fomba fanangonana, fanaovana sonia ary famoahana ny fampiharana iOS amin'ny App Store ny GitLab miaraka amin'ny fastlane.

Vao haingana izahay no nanana lahatsoratra momba ny fomba fanamboarana haingana sy fampandehanana fampiharana Android miaraka amin'ny GitLab ary lalana haingana. Ho hitantsika eto ny fomba fananganana sy fampandehanana fampiharana iOS ary hamoaka izany amin'ny TestFlight. Jereo ny maha-mangatsiaka azy Manao fanovana amin'ny iPad Pro aho miaraka amin'ny GitLab Web IDE, maka ny fivoriambe aho ary mahazo fanavaozana amin'ny kinova fitsapana amin'ny fampiharana amin'ny iPad Pro mitovy amin'ny namolavolako azy.

Eto no horaisintsika fampiharana iOS tsotra amin'ny Swift, izay niarahako nandrakitra ilay video.

Teny vitsivitsy momba ny fanamboarana Apple Store

Mila fampiharana App Store, mari-pankasitrahana fitsinjarana, ary mombamomba famatsiana izahay mba hampifandray ny zava-drehetra.

Ny zavatra sarotra indrindra eto dia ny fametrahana zo sonia ao amin'ny App Store. Manantena aho fa azonao fantarina manokana izany. Raha vaovao ianao dia hanoro anao amin'ny lalana marina aho, fa tsy hiresaka momba ny saro-pady amin'ny fitantanana ny certificat Apple eto izahay, ary miova tsy tapaka. Ity lahatsoratra ity dia hanampy anao hanomboka.

Ny Apps

Mila fampiharana ao amin'ny App Store Connect ianao mba hanananao ID ho an'ny fanitsiana .xcodebuild. Ny mombamomba sy ny ID fampiharana dia manambatra ny fananganana kaody, ny vidiny ary ny fahafaha-manao, ary ny fanamafisana TestFlight amin'ny fizarana rindranasa fitsapana amin'ny mpampiasa. Aza manao fitiliana ho an'ny daholobe, dia ho ampy ny fitiliana manokana raha manana vondrona kely ianao, mora apetraka ary tsy mila fahazoan-dΓ lana fanampiny avy amin'ny Apple.

Profile fanombohana

Ho fanampin'ny fametrahana fampiharana dia mila fanalahidin'ny fizarana sy fampandrosoana iOS noforonina ao amin'ny fizarana Certificates, Identifiers & Profiles ao amin'ny console Apple Developer ianao. Ireo mari-pankasitrahana rehetra ireo dia azo atambatra amin'ny mombamomba ny provisioning.

Ireo mpampiasa izay hohamarinina dia mila afaka mamorona taratasy fanamarinana, raha tsy izany ny dingana cert sy misento hahita hadisoana ianao.

safidy hafa

Ankoatra an'io fomba tsotra io dia misy fomba hafa hanamboarana certificat sy profil. Noho izany, raha miasa amin'ny fomba hafa ianao dia mety tsy maintsy mampifanaraka. Ny zava-dehibe indrindra dia ny hoe mila configuration ianao .xcodebuild, izay hanondro ireo rakitra ilaina, ary ny rojom-panalahidy dia tsy maintsy ho hita ao amin'ny solosaina fananganana ho an'ny mpampiasa izay mitondra ny anarana hoe mpihazakazaka. Ho an'ny sonia nomerika dia mampiasa fastlane izahay, ary raha misy olana na te hahalala bebe kokoa dia jereo ny antsipirian'izy ireo antontan-taratasy momba ny sonia nomerika.

Amin'ity ohatra ity dia mampiasa fomba fiasa aho cert sy misento, fa ho an'ny fampiasana tena izy dia mety tsara kokoa lalao.

Manomana GitLab sy fastlane

Manomana CI Runner

Rehefa voaangona ireo angon-drakitra rehetra ireo dia miroso amin'ny fanamboarana ny mpihazakazaka GitLab amin'ny fitaovana MacOS izahay. Indrisy anefa fa amin'ny MacOS ihany no ahafahanao manao fampiharana iOS. Saingy mety hiova ny zava-drehetra, ary raha manantena fandrosoana amin'ity sehatra ity ianao, dia diniho ny tetikasa toy ny xcbuild ΠΈ FAMANTARANA, ary ny asantsika anatiny gitlab-ce#57576.

Ny fametrahana ny mpihazakazaka dia tena tsotra. Araho ny ankehitriny torolΓ lana momba ny fametrahana GitLab Runner amin'ny macOS.

Fanamarihana. Ny mpihazakazaka dia tsy maintsy mampiasa programa azo tanterahana shell. Ilaina izany mba hananganana iOS amin'ny macOS mba hiasa mivantana amin'ny maha mpampiasa azy fa tsy amin'ny alalan'ny kaontenera. Raha mampiasa ianao shell, ny fanorenana sy ny fitiliana dia atao amin'ny maha-mpampiasa mpihazakazaka, mivantana amin'ny mpampiantrano fananganana. Tsy azo antoka toy ny kaontenera izany, ka tsara kokoa ny mijery antontan-taratasy fiarovanaka tsy misy diso ianao.

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 dia tsy maintsy amboarina amin'ity mpampiantrano ity miaraka amin'ny fidirana amin'ny fanalahidy izay ilain'ny Xcode. Ny fomba tsotra indrindra hitsapana izany dia ny miditra amin'ny maha-mpampiasa azy izay hampandeha ny fananganana ary manandrana manamboatra azy amin'ny tanana. Raha mangataka fidirana amin'ny keychain ny rafitra dia fidio Avelao hiasa foana ny CI. Mety ilaina ny miditra sy mijery ireo fantsona roa voalohany mba hahazoana antoka fa tsy hangataka ny rojo fanalahidy intsony izy ireo. Ny olana dia ny Apple dia tsy manamora ny fampiasana ny Auto mode, fa rehefa mandeha ianao dia hilamina ny zava-drehetra.

fastlane init

Raha hampiasa fastlane amin'ny tetikasa iray, mihazakazaka fastlane init. Araho fotsiny torolalana amin'ny fametrahana sy fampandehanana ny fastlane, indrindra ao amin'ny fizarana momba ny Gemfile, satria mila fandefasana haingana sy azo vinavinaina amin'ny alΓ lan'ny fantsona CI mandeha ho azy isika.

Ao amin'ny lahatahiry tetikasanao, araho ireto baiko ireto:

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

Fastlane dia hangataka fikandrana fototra ary avy eo mamorona lahatahiry fastlane amin'ny tetikasa misy rakitra telo:

1. fastlane/Appfile

Tsy misy zavatra sarotra eto. Ataovy azo antoka fa marina ny Apple ID sy App ID.

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

2. fastlane/Fastfile

Fastfile mamaritra ny dingana fananganana. Mampiasa endri-javatra maro an'ny fastlane izahay, noho izany dia mazava ny zava-drehetra eto. Mamorona tsipika iray izay mahazo mari-pankasitrahana izahay, manatanteraka ny fivoriambe ary mampakatra izany amin'ny TestFlight. Azonao zaraina ho asa samihafa io dingana io raha ilaina. Ireo hetsika rehetra ireo (get_certificates, get_provisioning_profile, gym ΠΈ upload_to_testflight) dia efa tafiditra ao anatin'ny fastlane.

ДСйствия get_certificates ΠΈ get_provisioning_profile mifandraika amin'ny fomba fanaovana sonia cert sy misento. Raha mampiasa ianao lalao na inona na inona, manaova fanovana.

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

Ity dia rakitra azo atao, saingy noforoniko tamin'ny tanana izany mba hanovana ny lahatahiry famoahana default ary hametraka ny vokatra ao amin'ny lahatahiry ankehitriny. Manamora ny CI izany. Raha liana dia vakio ny momba ny gym sy ny paramètre ao tahirin-kevitra.

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

ny .gitlab-ci.yml

Noho izany, manana mpihazakazaka CI ho an'ny tetikasa izahay ary vonona ny hitsapa ny fantsona. Andeha hojerentsika izay ananantsika .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

ВсС ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ! Napetrakay amin'ny UTF-8 ny format ho an'ny fastlane araka izay ilaina, mampiasa tetika clone miaraka amin'ny fampiharana programa shell, mba hanananay toeram-piasana madio ho an'ny fivoriambe tsirairay, ary antsoy fotsiny flappybuild fastlane, araka ny hita etsy ambony. Vokatr'izany dia mahazo ny fivoriambe, ny sonia ary ny fametrahana ny fivoriambe farany amin'ny TestFlight.

Mahazo ny artifact koa izahay ary mitahiry izany miaraka amin'ny fivoriambe. Mariho fa ny format .ipa dia executable ARM voasonia izay tsy mandeha amin'ny simulator. Raha mila vokatra ho an'ny simulator ianao, ampio fotsiny ny tanjona fananganana izay mamokatra azy, ary ampidiro ao amin'ny lalan'ny artifact.

Variable tontolo iainana hafa

Misy karazany roa ny tontolo iainana eto izay mampandeha ny zava-drehetra.

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD ΠΈ FASTLANE_SESSION

Ny fanamarinana ho an'ny fastlane dia takiana mba hanamarinana ao amin'ny App Store ary ampidiro ao amin'ny TestFlight. Mba hanaovana izany, mamorona tenimiafina ho an'ny fampiharana izay hampiasaina amin'ny CI. tsipiriany eto.

Raha manana fanamarinana roa lafin-javatra ianao dia mamorona faribolana FASTLANE_SESSION (torohevitra eo).

FASTLANE_USER ΠΈ FASTLANE_PASSWORD

fa cert sy misento antsoina hoe ny mombamomba ny fanombohana sy ny mari-pankasitrahana amin'ny fangatahana, mila mametraka ny variables ianao FASTLANE_USER ΠΈ FASTLANE_PASSWORD. tsipiriany eto. Tsy ilaina izany raha mampiasa fomba fanaovana sonia hafa ianao.

Ho famaranana

Hitanao ny fomba fiasan'izy rehetra amin'ny ohatra tsotra nataoko.

Manantena aho fa nanampy sy nanentana anao hiasa amin'ny fananganana iOS amin'ny tetikasa GitLab izany. Ity misy iray hafa CI toro-hevitra ho an'ny fastlane, raha sanatria. Mety tianao hampiasaina CI_BUILD_ID (ho an'ny fananganana incremental) ho automatique increment version.

Ny endri-javatra mahafinaritra hafa amin'ny fastlane dia pikantsary mandeha ho azy ho an'ny App Store, izay tena mora apetraka.

Lazao anay amin'ny fanehoan-kevitra momba ny traikefanao ary zarao ny hevitrao hanatsarana ny GitLab ho an'ny fampivoarana fampiharana iOS.

Source: www.habr.com

Add a comment