GitLab ۽ فاسٽ لين سان ايپ اسٽور تي iOS ايپليڪيشنون شايع ڪرڻ

GitLab ۽ فاسٽ لين سان ايپ اسٽور تي iOS ايپليڪيشنون شايع ڪرڻ

ڪيئن GitLab فاسٽ لين سان گڏ گڏ ڪري ٿي، نشانيون ۽ شايع ڪري ٿي iOS ايپليڪيشنن کي ايپ اسٽور تي.

اسان تازو ڪيو هو هڪ Android ايپليڪيشن کي جلدي ڪيئن ٺاهيو ۽ هلائڻ بابت پوسٽ ڪريو GitLab سان ۽ تڪڙو. هتي اسان ڏسنداسين ته هڪ iOS ايپ ڪيئن ٺاهيو ۽ هلائڻ ۽ ان کي TestFlight تي شايع ڪيو. چيڪ ڪريو ته ڪيترو ٿڌو آهي مان هڪ آئي پيڊ پرو تي تبديلي ڪري رهيو آهيان GitLab ويب IDE سان، مان اسيمبلي وٺان ٿو ۽ ساڳئي iPad پرو تي ايپليڪيشن جي ٽيسٽ ورزن جي تازه ڪاري حاصل ڪريان ٿو جتي مون ان کي ترقي ڪئي.

هتي اسان کڻنداسين Swift تي سادي iOS ايپجنهن سان مون وڊيو رڪارڊ ڪئي.

ايپل اسٽور جي ٺاھ جوڙ جي باري ۾ چند لفظ

اسان کي ضرورت پوندي هڪ ايپ اسٽور ايپ، تقسيم سرٽيفڪيٽ، ۽ هڪ روزي وارو پروفائل هر شي کي گڏ ڪرڻ لاءِ.

هتي سڀ کان وڌيڪ ڏکيو شيء آهي ايپ اسٽور ۾ سائن ان جي حقن کي ترتيب ڏيڻ. مون کي اميد آهي ته توهان اهو پاڻ لاء سمجهي سگهو ٿا. جيڪڏھن توھان نوان آھيو، مان توھان کي صحيح طرف اشارو ڪندس، پر اسان ھتي ايپل سرٽيفڪيٽن کي منظم ڪرڻ جي پيچيدگين بابت نه ڳالهائينداسين، ۽ اھي مسلسل تبديل ٿي رھيا آھن. هي پوسٽ توهان کي شروع ڪرڻ ۾ مدد ڪندي.

منهنجون ائپس

توهان کي ايپ اسٽور ڪنيڪٽ ۾ هڪ ائپ جي ضرورت آهي تنهنڪري توهان وٽ آهي هڪ ID ترتيب ڏيڻ لاءِ .xcodebuild. پروفائل ۽ ايپليڪيشن آئي ڊي ڪوڊ ٺاهي، قيمتن ۽ دستيابي، ۽ ٽيسٽ فلائيٽ ڪنفيگريشن کي صارفين ۾ ٽيسٽ ايپليڪيشنون ورهائڻ لاءِ. عوامي جانچ نه ڪريو، پرائيويٽ ٽيسٽنگ ڪافي ٿي ويندي جيڪڏھن توھان وٽ ھڪڙو ننڍڙو گروپ آھي، سادو سيٽ اپ آھي، ۽ ايپل کان اضافي اجازتن جي ضرورت نه آھي.

شروعاتي پروفائل

ايپ سيٽ اپ کان علاوه، توهان کي ايپل ڊولپر ڪنسول جي سرٽيفڪيٽ، سڃاڻپ ڪندڙ ۽ پروفائلز سيڪشن ۾ ٺاهيل iOS تقسيم ۽ ڊولپمينٽ ڪيز جي ضرورت آهي. انهن سڀني سرٽيفڪيٽن کي گڏ ڪري سگهجي ٿو روزي جي پروفائيل ۾.

صارف جيڪي تصديق ڪيا ويندا سرٽيفڪيٽ ٺاهڻ جي قابل هوندا، ٻي صورت ۾ قدم سرٽيفڪيشن ۽ ساهه توهان هڪ غلطي ڏسندا.

ٻين اختيارن کي

هن سادي طريقي کان علاوه، سرٽيفڪيٽ ۽ پروفائلز کي ترتيب ڏيڻ جا ٻيا طريقا آهن. تنهن ڪري، جيڪڏهن توهان مختلف ڪم ڪريو ٿا، توهان کي اپنائڻو پوندو. سڀ کان اهم شيء اها آهي ته توهان کي ترتيب ڏيڻ جي ضرورت آهي .xcodebuild، جيڪو ضروري فائلن ڏانهن اشارو ڪندو، ۽ ڪيچين لازمي طور تي استعمال ڪندڙ لاءِ بلڊ ڪمپيوٽر تي موجود هوندو جنهن جي نالي هيٺ رنر هلائي رهيو آهي. ڊجيٽل دستخط لاءِ اسان فاسٽ لين استعمال ڪندا آهيون، ۽ جيڪڏهن ڪو مسئلو آهي يا توهان وڌيڪ ڄاڻڻ چاهيو ٿا، انهن جا تفصيل ڏسو ڊجيٽل دستخط بابت دستاويز.

هن مثال ۾، مان طريقو استعمال ڪري رهيو آهيان سرٽيفڪيشن ۽ ساهه، پر حقيقي استعمال لاءِ اهو شايد بهتر آهي ميچ.

GitLab ۽ فاسٽ لين تيار ڪرڻ

CI رنر تيار ڪرڻ

هي سڀ ڊيٽا گڏ ڪرڻ کان پوء، اسان MacOS ڊوائيس تي GitLab رنر جي ترتيب تي وڃو. بدقسمتي سان، توهان صرف MacOS تي iOS ايپس ٺاهي سگهو ٿا. پر هر شيء تبديل ٿي سگهي ٿي، ۽ جيڪڏهن توهان هن علائقي ۾ ترقي جي اميد رکون ٿا، جهڙوڪ منصوبن تي نظر رکو xc تعمير и نشاني، ۽ اسان جو اندروني ڪم gitlab-ce#57576.

رنر کي ترتيب ڏيڻ بلڪل سادو آهي. موجوده جي تابعداري ڪريو MacOS تي GitLab رنر کي ترتيب ڏيڻ لاء هدايتون.

نوٽ. رنر کي لازمي طور تي قابل عمل پروگرام استعمال ڪرڻ گهرجي 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. بس پٺيان فاسٽ لين کي انسٽال ڪرڻ ۽ هلائڻ لاءِ هدايتونخاص طور تي سيڪشن ۾ Gemfile، ڇاڪاڻ ته اسان کي هڪ خودڪار سي آءِ پائپ لائن ذريعي تيز ۽ متوقع لانچ جي ضرورت آهي.

توھان جي پروجيڪٽ ڊاريڪٽري ۾، ھي حڪم ھلايو:

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

Все отлично! اسان فاسٽ لين لاءِ فارميٽ کي UTF-8 تي مقرر ڪيو جيئن گھربلحڪمت عملي استعمال ڪريو 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 تجويزون فاسٽ لين لاءِ، صرف صورت ۾. توھان شايد استعمال ڪرڻ چاھيو ٿا CI_BUILD_ID (وڌندڙ اڏاوتن لاءِ). خودڪار واڌارو نسخو.

فاسٽ لين جي هڪ ٻي سٺي خاصيت آهي خودڪار اسڪرين شاٽ ايپ اسٽور لاءِ، جيڪي سيٽ اپ ڪرڻ بلڪل آسان آهن.

اسان کي پنهنجي تجربي جي باري ۾ تبصرن ۾ ٻڌايو ۽ iOS ايپ ڊولپمينٽ لاءِ GitLab کي بهتر ڪرڻ لاءِ پنهنجا خيال حصيداري ڪريو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو