ڪيئن GitLab فاسٽ لين سان گڏ گڏ ڪري ٿي، نشانيون ۽ شايع ڪري ٿي iOS ايپليڪيشنن کي ايپ اسٽور تي.
اسان تازو ڪيو هو
هتي اسان کڻنداسين
ايپل اسٽور جي ٺاھ جوڙ جي باري ۾ چند لفظ
اسان کي ضرورت پوندي هڪ ايپ اسٽور ايپ، تقسيم سرٽيفڪيٽ، ۽ هڪ روزي وارو پروفائل هر شي کي گڏ ڪرڻ لاءِ.
هتي سڀ کان وڌيڪ ڏکيو شيء آهي ايپ اسٽور ۾ سائن ان جي حقن کي ترتيب ڏيڻ. مون کي اميد آهي ته توهان اهو پاڻ لاء سمجهي سگهو ٿا. جيڪڏھن توھان نوان آھيو، مان توھان کي صحيح طرف اشارو ڪندس، پر اسان ھتي ايپل سرٽيفڪيٽن کي منظم ڪرڻ جي پيچيدگين بابت نه ڳالهائينداسين، ۽ اھي مسلسل تبديل ٿي رھيا آھن. هي پوسٽ توهان کي شروع ڪرڻ ۾ مدد ڪندي.
منهنجون ائپس
توهان کي ايپ اسٽور ڪنيڪٽ ۾ هڪ ائپ جي ضرورت آهي تنهنڪري توهان وٽ آهي هڪ ID ترتيب ڏيڻ لاءِ .xcodebuild
. پروفائل ۽ ايپليڪيشن آئي ڊي ڪوڊ ٺاهي، قيمتن ۽ دستيابي، ۽ ٽيسٽ فلائيٽ ڪنفيگريشن کي صارفين ۾ ٽيسٽ ايپليڪيشنون ورهائڻ لاءِ. عوامي جانچ نه ڪريو، پرائيويٽ ٽيسٽنگ ڪافي ٿي ويندي جيڪڏھن توھان وٽ ھڪڙو ننڍڙو گروپ آھي، سادو سيٽ اپ آھي، ۽ ايپل کان اضافي اجازتن جي ضرورت نه آھي.
شروعاتي پروفائل
ايپ سيٽ اپ کان علاوه، توهان کي ايپل ڊولپر ڪنسول جي سرٽيفڪيٽ، سڃاڻپ ڪندڙ ۽ پروفائلز سيڪشن ۾ ٺاهيل iOS تقسيم ۽ ڊولپمينٽ ڪيز جي ضرورت آهي. انهن سڀني سرٽيفڪيٽن کي گڏ ڪري سگهجي ٿو روزي جي پروفائيل ۾.
صارف جيڪي تصديق ڪيا ويندا سرٽيفڪيٽ ٺاهڻ جي قابل هوندا، ٻي صورت ۾ قدم
ٻين اختيارن کي
هن سادي طريقي کان علاوه، سرٽيفڪيٽ ۽ پروفائلز کي ترتيب ڏيڻ جا ٻيا طريقا آهن. تنهن ڪري، جيڪڏهن توهان مختلف ڪم ڪريو ٿا، توهان کي اپنائڻو پوندو. سڀ کان اهم شيء اها آهي ته توهان کي ترتيب ڏيڻ جي ضرورت آهي .xcodebuild
، جيڪو ضروري فائلن ڏانهن اشارو ڪندو، ۽ ڪيچين لازمي طور تي استعمال ڪندڙ لاءِ بلڊ ڪمپيوٽر تي موجود هوندو جنهن جي نالي هيٺ رنر هلائي رهيو آهي. ڊجيٽل دستخط لاءِ اسان فاسٽ لين استعمال ڪندا آهيون، ۽ جيڪڏهن ڪو مسئلو آهي يا توهان وڌيڪ ڄاڻڻ چاهيو ٿا، انهن جا تفصيل ڏسو
هن مثال ۾، مان طريقو استعمال ڪري رهيو آهيان
GitLab ۽ فاسٽ لين تيار ڪرڻ
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
ايپل ڪيچين کي لازمي طور تي ترتيب ڏنو وڃي هن ميزبان تي ڪنجين تائين رسائي سان جيڪي Xcode کي ٺاهڻ جي ضرورت آهي. ھن کي جانچڻ جو آسان طريقو آھي لاگ ان ٿيڻ لاءِ استعمال ڪندڙ جي طور تي جيڪو ٺاھيندو ۽ ان کي دستي طور تي تعمير ڪرڻ جي ڪوشش ڪندو. جيڪڏهن سسٽم پڇي ٿو ڪيچين جي رسائي لاءِ، چونڊيو هميشه اجازت ڏيو سي آءِ ڪم ڪرڻ لاءِ. اهو ٿي سگهي ٿو اندر وڃڻ ۽ ڏسڻ لاءِ پائپ لائنن جي پهرين ٻن کي پڪ ڪرڻ لاءِ ته اهي هاڻي ڪيچين لاءِ نه پڇن. مصيبت اها آهي ته ايپل اسان لاءِ آٽو موڊ استعمال ڪرڻ آسان نه بڻائي، پر هڪ دفعو توهان ان کي حاصل ڪري وٺو، سڀ ڪجهه ٺيڪ ٿي ويندو.
fastlane init
ھڪڙي منصوبي ۾ فاسٽ لين استعمال ڪرڻ لاء، ھلايو fastlane init
. بس پٺيان
توھان جي پروجيڪٽ ڊاريڪٽري ۾، ھي حڪم ھلايو:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
فاسٽ لين هڪ بنيادي تشڪيل لاءِ پڇندو ۽ پوءِ پروجيڪٽ ۾ ٽن فائلن سان فاسٽ لين فولڊر ٺاهي:
1. fastlane/Appfile
هتي ڪجھ به پيچيده ناهي. بس پڪ ڪريو ته توهان جي ايپل آئي ڊي ۽ ايپ آئي ڊي صحيح آهن.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
تعمير جي مرحلن کي بيان ڪري ٿو. اسان استعمال ڪريون ٿا گھڻا فاسٽ لين جي بلٽ ان فيچرز، تنھنڪري ھتي سڀ ڪجھ صاف آھي. اسان ھڪڙي لڪير ٺاھيون ٿا جيڪو سرٽيفڪيٽ حاصل ڪري ٿو، اسيمبلي کي انجام ڏئي ٿو ۽ ان کي اپ لوڊ ڪري ٿو 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
فاسٽ لين، جيئن مٿي ڏٺو ويو آهي. نتيجي طور، اسان TestFlight ۾ تازي اسيمبلي جي اسيمبلي، دستخط ۽ مقرري حاصل ڪندا آهيون.
اسان پڻ آرٽيڪل حاصل ڪريون ٿا ۽ ان کي اسيمبليء سان محفوظ ڪريو. مهرباني ڪري نوٽ ڪريو ته فارميٽ .ipa
هڪ دستخط ٿيل ARM قابل عمل آهي جيڪو سميليٽر ۾ نه هلندو آهي. جيڪڏهن توهان سموليٽر لاءِ آئوٽ پُٽ چاهيو ٿا، صرف تعمير جو ٽارگيٽ شامل ڪريو جيڪو ان کي پيدا ڪري ٿو، ۽ پوءِ ان کي آرٽيڪل واٽ ۾ شامل ڪريو.
ٻيا ماحولياتي تبديليون
هتي ڪجھ ماحولياتي متغير آهن جيڪي هر شي کي ڪم ڪن ٿا.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
فاسٽ لين لاءِ تصديق گهربل آهي ايپ اسٽور ۾ تصديق ڪرڻ ۽ اپ لوڊ ڪرڻ لاءِ TestFlight. هن کي ڪرڻ لاء، ايپليڪيشن لاء پاسورڊ ٺاهيو جيڪو CI ۾ استعمال ڪيو ويندو. تفصيل
جيڪڏهن توهان وٽ ٻه عنصر جي تصديق آهي، هڪ متغير ٺاهيو FASTLANE_SESSION
(هدايتون اتي).
FASTLANE_USER
и FASTLANE_PASSWORD
ته FASTLANE_USER
и FASTLANE_PASSWORD
. تفصيل
نتيجو
توهان ڏسي سگهو ٿا ته اهو سڀ ڪيئن ڪم ڪري ٿو
مون کي اميد آهي ته اهو مددگار هو ۽ توهان کي GitLab پروجيڪٽ ۾ iOS تعميرات سان ڪم ڪرڻ لاءِ متاثر ڪيو. هتي هڪ ٻيو آهي CI_BUILD_ID
(وڌندڙ اڏاوتن لاءِ).
فاسٽ لين جي هڪ ٻي سٺي خاصيت آهي
اسان کي پنهنجي تجربي جي باري ۾ تبصرن ۾ ٻڌايو ۽ iOS ايپ ڊولپمينٽ لاءِ GitLab کي بهتر ڪرڻ لاءِ پنهنجا خيال حصيداري ڪريو.
جو ذريعو: www.habr.com