Kusindikiza mapulogalamu a iOS ku App Store ndi GitLab ndi fastlane

Kusindikiza mapulogalamu a iOS ku App Store ndi GitLab ndi fastlane

Momwe GitLab yokhala ndi fastlane imasonkhanitsira, kusaina ndikusindikiza mapulogalamu a iOS ku App Store.

Posachedwapa tinali positi za momwe mungapangire mwachangu ndikuyendetsa pulogalamu ya Android ndi GitLab ndi fastlane. Apa tiwona momwe tingamangire ndikuyendetsa pulogalamu ya iOS ndikuyisindikiza ku TestFlight. Onani momwe zimakhalira bwino Ndikusintha pa iPad Pro yokhala ndi GitLab Web IDE, Ndimatenga msonkhano ndikupeza zosintha za mtundu woyeserera wa pulogalamuyo pa iPad Pro yomwe ndidapanga.

Apa titenga pulogalamu yosavuta ya iOS pa Swift, amene ndinajambulitsa naye vidiyoyo.

Mawu ochepa okhudza kasinthidwe ka Apple Store

Tidzafunika pulogalamu ya App Store, ziphaso zogawira, ndi mbiri yopereka kuti tigwirizane zonse.

Chovuta kwambiri apa ndikukhazikitsa ufulu wosayina mu App Store. Ndikukhulupirira kuti mutha kudziganizira nokha. Ngati ndinu watsopano, ndikulozerani njira yoyenera, koma sitilankhula za zovuta zowongolera ziphaso za Apple pano, ndipo zikusintha mosalekeza. Nkhaniyi ikuthandizani kuti muyambe.

Mapulogalamu Anga

Mufunika pulogalamu mu App Store Connect kuti mukhale ndi ID yokonzekera .xcodebuild. Mbiri ndi ID ya pulogalamu imaphatikiza ma code, mitengo ndi kupezeka, ndi makonzedwe a TestFlight pogawa zoyeserera kwa ogwiritsa ntchito. Osayesa pagulu, kuyezetsa kwachinsinsi kumakhala kokwanira ngati muli ndi gulu laling'ono, kukhazikitsa kosavuta, ndipo simukufuna zilolezo zowonjezera kuchokera ku Apple.

Mbiri yoyambira

Kuphatikiza pa kukhazikitsidwa kwa pulogalamuyo, mufunika makiyi ogawa ndi chitukuko cha iOS opangidwa mu gawo la Zikalata, Zozindikiritsa & Mbiri ya Apple Developer console. Satifiketi zonsezi zitha kuphatikizidwa kukhala mbiri yopereka.

Ogwiritsa ntchito omwe adzatsimikizidwe ayenera kukhala okhoza kupanga satifiketi, apo ayi masitepe cert ndi kupuma muwona cholakwika.

asadziphe

Kupatula njira yosavuta iyi, pali njira zina zosinthira masatifiketi ndi mbiri. Choncho, ngati mumagwira ntchito mosiyana, mungafunike kusintha. Chofunika kwambiri ndi chakuti mukufunikira kasinthidwe .xcodebuild, yomwe idzalozera ku mafayilo ofunikira, ndipo keychain iyenera kupezeka pa kompyuta yomanga kwa wogwiritsa ntchito dzina lake wothamanga akuthamanga. Pa siginecha ya digito timagwiritsa ntchito fastlane, ndipo ngati pali zovuta kapena mukufuna kudziwa zambiri, onani zambiri zawo zolemba zama signature a digito.

Mu chitsanzo ichi ndikugwiritsa ntchito njira cert ndi kupuma, koma pakugwiritsa ntchito kwenikweni ndizoyenera machesi.

Kukonzekera GitLab ndi fastlane

Kukonzekera CI Wothamanga

Titasonkhanitsa deta yonseyi, timapita ku kasinthidwe ka GitLab wothamanga pa MacOS chipangizo. Tsoka ilo, mutha kungopanga mapulogalamu a iOS pa MacOS. Koma zonse zitha kusintha, ndipo ngati mukuyembekezera kupita patsogolo m'derali, yang'anani ntchito ngati xc kumanga ΠΈ chizindikiro, ndi ntchito yathu yamkati gitlab-ce#57576.

Kupanga wothamanga ndikosavuta kwambiri. Tsatirani zamakono Malangizo okhazikitsa GitLab Runner pa macOS.

Zindikirani. Wopambana ayenera kugwiritsa ntchito pulogalamu yoyeserera shell. Izi zimafunika kuti mupange iOS pa macOS kuti igwire ntchito mwachindunji monga wogwiritsa ntchito osati kudzera m'mitsuko. Ngati mukugwiritsa ntchito shell, Kumanga ndi kuyesa kumachitidwa ngati wothamanga wothamanga, molunjika pa nyumba yomanga. Siwotetezedwa ngati zotengera, ndiye kuti musakatule bwino chitetezo zolembedwakotero simudzaphonya kalikonse.

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 iyenera kukhazikitsidwa pa wolandirayo ndi mwayi wopeza makiyi omwe Xcode ikufunika kupanga. Njira yosavuta yoyesera izi ndikulowa ngati wogwiritsa ntchito yemwe adzayendetsa ntchito yomanga ndikuyesera kuimanga pamanja. Ngati dongosololi likufunsani mwayi wa keychain, sankhani Nthawizonse Lolani kuti CI igwire ntchito. Zingakhale zoyenera kulowa ndikuwonera mapaipi angapo oyamba kuti muwonetsetse kuti sakufunsanso makiyi. Vuto ndilakuti Apple sipangitsa kukhala kosavuta kuti tigwiritse ntchito Auto mode, koma mukangoyamba, zonse zikhala bwino.

fastlane ine

Kuti mugwiritse ntchito fastlane mu polojekiti, thamangani fastlane init. Ingotsatirani malangizo kukhazikitsa ndi kuthamanga fastlane, makamaka mu gawo la Gemfile, chifukwa tikufunika kukhazikitsidwa kwachangu komanso kodziwikiratu kudzera paipi yamagetsi ya CI.

M'ndandanda wa polojekiti yanu, yesani malamulo awa:

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

fastlane ifunsa masinthidwe oyambira kenako ndikupanga foda ya fastlane mu projekiti yokhala ndi mafayilo atatu:

1. fastlane/Appfile

Palibe chovuta apa. Onetsetsani kuti ID yanu ya Apple ndi ID ya App ndizolondola.

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

2. fastlane/Fastfile

Fastfile imatanthauzira masitepe omanga. Timagwiritsa ntchito zinthu zambiri zomangidwira za fastlane, kotero zonse zikuwonekeranso apa. Timapanga mzere umodzi womwe umalandira ziphaso, kupanga msonkhano ndikuuyika ku TestFlight. Mutha kugawa izi m'ntchito zosiyanasiyana ngati kuli kofunikira. Zochita zonsezi (get_certificates, get_provisioning_profile, gym ΠΈ upload_to_testflight) zaphatikizidwa kale mu fastlane.

Zochita get_certificates ΠΈ get_provisioning_profile zokhudzana ndi kusaina njira cert ndi kupuma. Ngati mukugwiritsa ntchito machesi kapena chirichonse, sinthani.

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

Ili ndi fayilo yosankha, koma ndidayipanga pamanja kuti ndisinthe chikwatu chomwe chimatuluka ndikuyika zomwe zili mufoda yomwe ilipo. Izi zimathandizira CI. Ngati mukufuna, werengani za gym ndi ma parameter ake mu zolemba.

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

wathu .gitlab-ci.yml

Kotero, tili ndi wothamanga wa CI wa polojekitiyi ndipo ndife okonzeka kuyesa payipi. Tiyeni tiwone zomwe tili nazo .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

Zonse zili bwino! Timayika mtundu kukhala UTF-8 wa fastlane ngati pakufunika, kugwiritsa ntchito strategy clone ndi pulogalamu yochitira shell, kuti tikhale ndi malo ogwirira ntchito oyera pa msonkhano uliwonse, ndikungoyitana flappybuild fastlane, monga tawonera pamwambapa. Zotsatira zake, timapeza kusonkhana, kusaina ndi kutumiza kwa msonkhano waposachedwa kwambiri mu TestFlight.

Timapezanso zinthuzo ndikuzisunga ndi msonkhano. Chonde dziwani kuti mawonekedwe .ipa ndi ARM yosainidwa yomwe imagwira ntchito yomwe siyikuyenda mu simulator. Ngati mukufuna zotulutsa za simulator, ingowonjezerani chandamale chomwe chimapanga, ndikuchiphatikizira m'njira yopangira.

Zosintha zina zachilengedwe

Pali mitundu ingapo ya chilengedwe pano yomwe imapangitsa kuti chilichonse chizigwira ntchito.

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD ΠΈ FASTLANE_SESSION

Kutsimikizika kwa fastlane ndikofunikira kuti mutsimikizire mu App Store ndikuyika ku TestFlight. Kuti muchite izi, pangani mawu achinsinsi a pulogalamu yomwe idzagwiritsidwe ntchito mu CI. Tsatanetsatane apa.

Ngati muli ndi kutsimikizika kwazinthu ziwiri, pangani kusintha FASTLANE_SESSION (malangizo apo).

FASTLANE_USER ΠΈ FASTLANE_PASSWORD

kuti cert ndi kupuma amatchedwa mbiri yoyambira ndi ziphaso mukapempha, muyenera kukhazikitsa zosintha FASTLANE_USER ΠΈ FASTLANE_PASSWORD. Tsatanetsatane apa. Izi sizofunika ngati mukugwiritsa ntchito njira ina yosayina.

Pomaliza

Mutha kuwona momwe zonse zimagwirira ntchito mu chitsanzo changa chophweka.

Ndikukhulupirira kuti izi zinali zothandiza ndikukulimbikitsani kuti mugwire ntchito ndi iOS yomanga mu projekiti ya GitLab. Nayi ina Malangizo a CI kwa fastlane, basi. Mutha kugwiritsa ntchito CI_BUILD_ID (zowonjezera zowonjezera) ku basi mawonjezedwe Baibulo.

Chinthu china chozizira cha fastlane ndi zojambula zodziwikiratu kwa App Store, yomwe ndi yosavuta kukhazikitsa.

Tiuzeni m'mawu okhudza zomwe mwakumana nazo ndikugawana malingaliro anu pakusintha GitLab pakukula kwa pulogalamu ya iOS.

Source: www.habr.com

Kuwonjezera ndemanga