څنګه GitLab د فاسټ لین سره د ایپ سټور ته د iOS غوښتنلیکونه راټولوي، لاسلیک کوي او خپروي.
موږ په دې وروستیو کې درلود
دلته به یې واخلو
د آپیل پلورنځي ترتیب په اړه یو څو ټکي
موږ به د اپل سټور اپلیکیشن ، د توزیع سندونو ، او د چمتو کولو پروفایل ته اړتیا ولرو ترڅو هرڅه سره یوځای کړو.
دلته ترټولو ستونزمن شی په اپل سټور کې د لاسلیک کولو حقونه تنظیم کول دي. زه امید لرم چې تاسو کولی شئ دا د ځان لپاره ومومئ. که تاسو نوي یاست ، زه به تاسو ته سم لوري ته ګوته ونیسم ، مګر موږ به دلته د ایپل سندونو اداره کولو پیچلتیاو په اړه وغږیږو ، او دوی په دوامداره توګه بدلیږي. دا پوسټ به تاسو سره د پیل کولو کې مرسته وکړي.
زما ایپس
تاسو د اپل سټور کنیکټ کې یو اپلیکیشن ته اړتیا لرئ نو تاسو د تشکیلاتو لپاره ID لرئ .xcodebuild
. د پروفایل او غوښتنلیک ID کاروونکو ته د ازموینې غوښتنلیکونو توزیع کولو لپاره کوډ جوړونه ، قیمت او شتون ، او د ټیسټ فلائٹ ترتیب سره یوځای کوي. عامه ازموینه مه کوئ ، شخصي ازموینه به کافي وي که تاسو کوچنۍ ډله ولرئ ، اسانه تنظیم کړئ ، او د ایپل څخه اضافي اجازې ته اړتیا نلرئ.
د پیل کولو پروفایل
د ایپ سیټ اپ سربیره ، تاسو د iOS توزیع او پراختیا کیلي ته اړتیا لرئ چې د آپیل پراختیا کونکي کنسول سندونو ، پیژندونکو او پروفایل برخې کې رامینځته شوي. دا ټول سندونه د چمتو کولو پروفایل کې یوځای کیدی شي.
هغه کارنان چې تصدیق شوي وي باید د دې وړتیا ولري چې سندونه رامینځته کړي ، که نه نو مرحلې
د نورو انتخابونو
د دې ساده میتود سربیره ، د سندونو او پروفایلونو تنظیم کولو نورې لارې شتون لري. نو، که تاسو په بل ډول کار کوئ، نو تاسو باید تطبیق کړئ. ترټولو مهمه خبره دا ده چې تاسو ترتیب ته اړتیا لرئ .xcodebuild
، کوم چې به اړین فایلونو ته اشاره وکړي، او کیچین باید د جوړونکي کمپیوټر کې د هغه کارونکي لپاره شتون ولري چې د هغه نوم لاندې چې رنر چلوي. د ډیجیټل لاسلیک لپاره موږ فاسټ لین کاروو، او که کومه ستونزه وي یا تاسو غواړئ نور پوه شئ، د دوی توضیحات وګورئ
په دې مثال کې زه طریقه کاروم
GitLab او fastlane چمتو کول
د CI رنر چمتو کول
د دې ټولو معلوماتو راټولولو سره ، موږ په MacOS وسیلې کې د GitLab رنر تنظیم کولو ته ځو. له بده مرغه، تاسو کولی شئ یوازې په MacOS کې iOS ایپسونه جوړ کړئ. مګر هرڅه بدلیدلی شي، او که تاسو پدې برخه کې د پرمختګ تمه لرئ، د پروژو په څیر سترګې وساتئ
د رنر تنظیم کول خورا ساده دي. اوسني تعقیب کړئ
نوټ. رنر باید د اجرا وړ برنامه وکاروي shell
. دا په macOS کې د iOS جوړولو لپاره اړین دی ترڅو د کانټینرونو له لارې مستقیم د کارونکي په توګه کار وکړي. که تاسو کاروئ shell
، جوړول او ازموینه د رنر کارونکي په توګه ترسره کیږي ، په مستقیم ډول د جوړونکي کوربه کې. دا د کانټینرونو په څیر خوندي نه دی، نو ښه لټون وکړئ
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
د آپیل کیچین باید په دې کوربه کې کیلي ته د لاسرسي سره تنظیم شي چې ایکس کوډ ورته اړتیا لري. د دې ازموینې ترټولو اسانه لار د هغه کارونکي په توګه ننوتل دي چې جوړ به یې کړي او په لاسي ډول یې جوړولو هڅه وکړي. که سیسټم د کیچین لاسرسي غوښتنه وکړي ، د CI کار کولو لپاره تل اجازه ورکړئ غوره کړئ. دا ممکن د ننوتلو ارزښت ولري او د لومړي څو پایپ لاینونو وګورئ ترڅو ډاډ ترلاسه کړئ چې دوی نور د کیچین غوښتنه نه کوي. ستونزه دا ده چې ایپل زموږ لپاره د آټو موډ کارولو لپاره اسانه نه کوي، مګر یوځل چې تاسو یې پرمخ وړئ، هرڅه به سم وي.
fastlane init
په پروژه کې د فاسټ لین کارولو لپاره، چلول fastlane init
. یوازې تعقیب کړئ
ستاسو د پروژې لارښود کې، دا کمانډونه پرمخ وړئ:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
fastlane به د لومړني ترتیب غوښتنه وکړي او بیا به په پروژه کې د دریو فایلونو سره د فاسټ لین فولډر رامینځته کړي:
1. fastlane/Appfile
دلته هیڅ پیچلي ندي. بس ډاډ ترلاسه کړئ چې ستاسو د ایپل ID او ایپ ID سم دي.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
د جوړولو مرحلې تعریفوي. موږ د فاسټ لین ډیری جوړ شوي ب featuresې کاروو ، نو دلته هم هرڅه روښانه دي. موږ یو کرښه رامینځته کوو چې سندونه ترلاسه کوي ، مجلس ترسره کوي او TestFlight ته یې اپلوډ کوي. تاسو کولی شئ دا پروسه په مختلفو دندو ویشئ که اړتیا وي. دا ټول عملیات (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) دمخه په فاسټ لین کې شامل دي.
کړنې get_certificates
и get_provisioning_profile
د لاسلیک کولو طریقې سره تړاو لري
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
دا یو اختیاري فایل دی ، مګر ما دا په لاسي ډول رامینځته کړی ترڅو د ډیفالټ محصول لارښود بدل کړي او محصول په اوسني فولډر کې ځای په ځای کړي. دا CI ساده کوي. که لیوالتیا لرئ، په اړه یې ولولئ gym
او د هغې پیرامیټونه په کې
https://docs.fastlane.tools/actions/gym/
زموږ .gitlab-ci.yml
نو، موږ د پروژې لپاره د CI چلونکی لرو او موږ چمتو یو چې د پایپ لاین ازموینه وکړو. راځئ وګورو چې موږ څه لرو .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
هره ورځ! clone
د پروګرام اجرا کولو سره shell
، نو موږ د هرې غونډې لپاره پاک کاري ځای لرو ، او په ساده ډول زنګ ووهئ flappybuild
fastlane، لکه څنګه چې پورته لیدل شوي. د پایلې په توګه، موږ په TestFlight کې د وروستي مجلس مجلس، لاسلیک او ځای پرځای کول ترلاسه کوو.
موږ اثار هم ترلاسه کوو او د مجلس سره یې خوندي کوو. مهرباني وکړئ په یاد ولرئ چې بڼه .ipa
یو لاسلیک شوی ARM د اجرا وړ دی چې په سمیلیټر کې نه چلیږي. که تاسو د سمیلیټر لپاره محصول غواړئ، یوازې د جوړونې هدف اضافه کړئ چې دا تولیدوي، او بیا یې د هنر په لاره کې شامل کړئ.
د چاپیریال نور تغیرات
دلته یو څو د چاپیریال تغیرات شتون لري چې هرڅه کار کوي.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
د فاسټ لین لپاره تصدیق د اپل سټور کې تصدیق کولو او ټیسټ فلائٹ ته اپلوډ کولو لپاره اړین دی. د دې کولو لپاره، د غوښتنلیک لپاره یو پټنوم جوړ کړئ چې په CI کې به کارول کیږي. جزیات
که تاسو دوه فکتور تصدیق لرئ، یو متغیر جوړ کړئ FASTLANE_SESSION
(هلته لارښوونې).
FASTLANE_USER
и FASTLANE_PASSWORD
چې FASTLANE_USER
и FASTLANE_PASSWORD
. جزیات
په پای کې
تاسو کولی شئ وګورئ چې دا ټول څنګه کار کوي
زه امید لرم چې دا ګټور و او تاسو ته یې وهڅول چې د GitLab پروژې کې د iOS جوړونو سره کار وکړي. دلته یو بل دی CI_BUILD_ID
(د زیاتیدونکي جوړښتونو لپاره).
د فاسټ لین بله ښه ځانګړتیا ده
موږ ته د خپلې تجربې په اړه نظرونو کې ووایاست او د iOS ایپ پراختیا لپاره د GitLab ښه کولو لپاره خپل نظرونه شریک کړئ.
سرچینه: www.habr.com