Momwe GitLab yokhala ndi fastlane imasonkhanitsira, kusaina ndikusindikiza mapulogalamu a iOS ku App Store.
Posachedwapa tinali
Apa titenga
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
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
Mu chitsanzo ichi ndikugwiritsa ntchito njira
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
Kupanga wothamanga ndikosavuta kwambiri. Tsatirani zamakono
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
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
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
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
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! 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
Ngati muli ndi kutsimikizika kwazinthu ziwiri, pangani kusintha FASTLANE_SESSION
(malangizo apo).
FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
kuti FASTLANE_USER
ΠΈ FASTLANE_PASSWORD
. Tsatanetsatane
Pomaliza
Mutha kuwona momwe zonse zimagwirira ntchito
Ndikukhulupirira kuti izi zinali zothandiza ndikukulimbikitsani kuti mugwire ntchito ndi iOS yomanga mu projekiti ya GitLab. Nayi ina CI_BUILD_ID
(zowonjezera zowonjezera) ku
Chinthu china chozizira cha fastlane ndi
Tiuzeni m'mawu okhudza zomwe mwakumana nazo ndikugawana malingaliro anu pakusintha GitLab pakukula kwa pulogalamu ya iOS.
Source: www.habr.com