د GitLab او fastlane سره اپل سټور ته د iOS غوښتنلیکونه خپرول

د GitLab او fastlane سره اپل سټور ته د iOS غوښتنلیکونه خپرول

څنګه GitLab د فاسټ لین سره د ایپ سټور ته د iOS غوښتنلیکونه راټولوي، لاسلیک کوي او خپروي.

موږ په دې وروستیو کې درلود د Android اپلیکیشن د جوړولو او چلولو څرنګوالي په اړه پوسټ کړئ د GitLab سره او ګړندۍ کرښه. دلته به موږ وګورو چې څنګه د iOS اپلیکیشن رامینځته کول او چلول او په TestFlight کې یې خپرول. وګورئ چې دا څومره ښه دی زه د GitLab ویب IDE سره په iPad پرو کې بدلون کوم، زه مجلس واخلم او په ورته iPad پرو کې د غوښتنلیک ازموینې نسخه ته تازه معلومات ترلاسه کړم چیرې چې ما دا رامینځته کړی.

دلته به یې واخلو په سویفټ کې ساده iOS ایپله چا سره مې ویډیو ثبت کړه.

د آپیل پلورنځي ترتیب په اړه یو څو ټکي

موږ به د اپل سټور اپلیکیشن ، د توزیع سندونو ، او د چمتو کولو پروفایل ته اړتیا ولرو ترڅو هرڅه سره یوځای کړو.

دلته ترټولو ستونزمن شی په اپل سټور کې د لاسلیک کولو حقونه تنظیم کول دي. زه امید لرم چې تاسو کولی شئ دا د ځان لپاره ومومئ. که تاسو نوي یاست ، زه به تاسو ته سم لوري ته ګوته ونیسم ، مګر موږ به دلته د ایپل سندونو اداره کولو پیچلتیاو په اړه وغږیږو ، او دوی په دوامداره توګه بدلیږي. دا پوسټ به تاسو سره د پیل کولو کې مرسته وکړي.

زما ایپس

تاسو د اپل سټور کنیکټ کې یو اپلیکیشن ته اړتیا لرئ نو تاسو د تشکیلاتو لپاره ID لرئ .xcodebuild. د پروفایل او غوښتنلیک ID کاروونکو ته د ازموینې غوښتنلیکونو توزیع کولو لپاره کوډ جوړونه ، قیمت او شتون ، او د ټیسټ فلائٹ ترتیب سره یوځای کوي. عامه ازموینه مه کوئ ، شخصي ازموینه به کافي وي که تاسو کوچنۍ ډله ولرئ ، اسانه تنظیم کړئ ، او د ایپل څخه اضافي اجازې ته اړتیا نلرئ.

د پیل کولو پروفایل

د ایپ سیټ اپ سربیره ، تاسو د iOS توزیع او پراختیا کیلي ته اړتیا لرئ چې د آپیل پراختیا کونکي کنسول سندونو ، پیژندونکو او پروفایل برخې کې رامینځته شوي. دا ټول سندونه د چمتو کولو پروفایل کې یوځای کیدی شي.

هغه کارنان چې تصدیق شوي وي باید د دې وړتیا ولري چې سندونه رامینځته کړي ، که نه نو مرحلې سند او ساه تاسو به یوه تېروتنه وګورئ.

د نورو انتخابونو

د دې ساده میتود سربیره ، د سندونو او پروفایلونو تنظیم کولو نورې لارې شتون لري. نو، که تاسو په بل ډول کار کوئ، نو تاسو باید تطبیق کړئ. ترټولو مهمه خبره دا ده چې تاسو ترتیب ته اړتیا لرئ .xcodebuild، کوم چې به اړین فایلونو ته اشاره وکړي، او کیچین باید د جوړونکي کمپیوټر کې د هغه کارونکي لپاره شتون ولري چې د هغه نوم لاندې چې رنر چلوي. د ډیجیټل لاسلیک لپاره موږ فاسټ لین کاروو، او که کومه ستونزه وي یا تاسو غواړئ نور پوه شئ، د دوی توضیحات وګورئ د ډیجیټل لاسلیکونو په اړه اسناد.

په دې مثال کې زه طریقه کاروم سند او ساه، مګر د ریښتیني کارونې لپاره دا شاید غوره مناسب وي لوبه.

GitLab او fastlane چمتو کول

د CI رنر چمتو کول

د دې ټولو معلوماتو راټولولو سره ، موږ په MacOS وسیلې کې د GitLab رنر تنظیم کولو ته ځو. له بده مرغه، تاسو کولی شئ یوازې په MacOS کې iOS ایپسونه جوړ کړئ. مګر هرڅه بدلیدلی شي، او که تاسو پدې برخه کې د پرمختګ تمه لرئ، د پروژو په څیر سترګې وساتئ xcbuild и نښه، او زموږ داخلي دنده 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

د آپیل کیچین باید په دې کوربه کې کیلي ته د لاسرسي سره تنظیم شي چې ایکس کوډ ورته اړتیا لري. د دې ازموینې ترټولو اسانه لار د هغه کارونکي په توګه ننوتل دي چې جوړ به یې کړي او په لاسي ډول یې جوړولو هڅه وکړي. که سیسټم د کیچین لاسرسي غوښتنه وکړي ، د CI کار کولو لپاره تل اجازه ورکړئ غوره کړئ. دا ممکن د ننوتلو ارزښت ولري او د لومړي څو پایپ لاینونو وګورئ ترڅو ډاډ ترلاسه کړئ چې دوی نور د کیچین غوښتنه نه کوي. ستونزه دا ده چې ایپل زموږ لپاره د آټو موډ کارولو لپاره اسانه نه کوي، مګر یوځل چې تاسو یې پرمخ وړئ، هرڅه به سم وي.

fastlane init

په پروژه کې د فاسټ لین کارولو لپاره، چلول fastlane init. یوازې تعقیب کړئ د فاسټ لین نصبولو او چلولو لپاره لارښوونېپه ځانګړې توګه په اړه برخه کې Gemfile، ځکه چې موږ د اتوماتیک CI پایپ لاین له لارې ګړندي او وړاندوینې وړ لانچ ته اړتیا لرو.

ستاسو د پروژې لارښود کې، دا کمانډونه پرمخ وړئ:

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

هره ورځ! موږ د اړتیا سره سم د فاسټ لین لپاره UTF-8 بڼه ترتیب کړه، ستراتیژي وکاروئ 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 لارښوونې د چټک لین لپاره، یوازې په قضیه کې. تاسو شاید وغواړئ چې وکاروئ CI_BUILD_ID (د زیاتیدونکي جوړښتونو لپاره). په اتوماتيک ډول زياتول نسخه.

د فاسټ لین بله ښه ځانګړتیا ده اتوماتیک سکرین شاټونه د اپل سټور لپاره، کوم چې تنظیم کول خورا اسانه دي.

موږ ته د خپلې تجربې په اړه نظرونو کې ووایاست او د iOS ایپ پراختیا لپاره د GitLab ښه کولو لپاره خپل نظرونه شریک کړئ.

سرچینه: www.habr.com

Add a comment