Fastlane-тэй GitLab нь iOS програмуудыг хэрхэн цуглуулж, гарын үсэг зурж, App Store-д нийтэлдэг вэ.
Бид саяхан байсан
Энд бид авах болно
Apple Store-ийн тохиргооны талаар хэдэн үг хэлье
Бидэнд бүх зүйлийг нэгтгэхийн тулд App Store програм, түгээлтийн гэрчилгээ, нөөцийн профайл хэрэгтэй болно.
Энд хамгийн хэцүү зүйл бол App Store дээр гарын үсэг зурах эрхийг тохируулах явдал юм. Та үүнийг өөрөө ойлгож чадна гэж найдаж байна. Хэрэв та шинэ хүн бол би таныг зөв чиглэлд чиглүүлэх болно, гэхдээ бид энд Apple-ийн гэрчилгээг удирдах нарийн төвөгтэй байдлын талаар ярихгүй бөгөөд тэдгээр нь байнга өөрчлөгдөж байдаг. Энэхүү нийтлэл нь танд эхлэхэд тусална.
Миний програмууд
Танд App Store Connect-д програм хэрэгтэй бөгөөд ингэснээр тохиргоо хийх ID-тай болно .xcodebuild
. Профайл болон програмын ID нь кодын бүтэц, үнэ, хүртээмж, туршилтын програмуудыг хэрэглэгчдэд түгээх TestFlight тохиргоог нэгтгэдэг. Олон нийтийн туршилтыг бүү хий, хэрэв та жижиг бүлэгтэй, тохируулахад хялбар, Apple-аас нэмэлт зөвшөөрөл авах шаардлагагүй бол хувийн тест хийхэд хангалттай.
Эхлүүлэх профайл
Програмын тохиргооноос гадна танд Apple Developer консолын Сертификат, танигч, профайл хэсэгт үүсгэсэн iOS түгээлтийн болон хөгжүүлэлтийн түлхүүрүүд хэрэгтэй. Эдгээр бүх гэрчилгээг нөөцийн профайл болгон нэгтгэж болно.
Баталгаажсан хэрэглэгчид гэрчилгээ үүсгэх боломжтой байх ёстой, эс тэгвээс алхамууд
бусад сонголтууд
Энэхүү энгийн аргаас гадна гэрчилгээ, профайлыг тохируулах өөр аргууд байдаг. Тиймээс, хэрэв та өөрөөр ажиллах юм бол дасан зохицох хэрэгтэй болж магадгүй юм. Хамгийн гол нь танд тохиргоо хэрэгтэй .xcodebuild
, энэ нь шаардлагатай файлуудыг зааж өгөх бөгөөд түлхүүрийн оосор нь гүйгч нэрээр ажиллаж байгаа хэрэглэгчийн бүтээх компьютер дээр байх ёстой. Тоон гарын үсгийн хувьд бид fastlane ашигладаг бөгөөд хэрэв асуудал гарвал эсвэл та илүү ихийг мэдэхийг хүсвэл тэдгээрийн дэлгэрэнгүй мэдээллийг шалгана уу
Энэ жишээнд би аргыг ашиглаж байна
GitLab болон fastlane бэлтгэж байна
CI Runner бэлтгэж байна
Энэ бүх өгөгдлийг цуглуулсны дараа бид 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
Apple түлхүүрийн оосорыг Xcode-н бүтээх шаардлагатай түлхүүрүүдэд хандах эрхээр энэ хост дээр тохируулсан байх ёстой. Үүнийг шалгах хамгийн хялбар арга бол уг бүтээцийг ажиллуулах хэрэглэгчээр нэвтэрч, гараар бүтээхийг оролдох явдал юм. Хэрэв систем түлхүүрийн оосор ашиглахыг хүсвэл CI-г ажиллуулахыг үргэлж зөвшөөрөхийг сонгоно уу. Дахиж түлхүүрийн оосор асуухгүй байхын тулд эхний хоёр хоолой руу орж үзэх нь зүйтэй болов уу. Асуудал нь Apple бидэнд Auto горимыг ашиглахад хялбар болгодоггүй, гэхдээ та үүнийг ажиллуулсны дараа бүх зүйл сайхан болно.
fastlane init
Төсөлд fastlane ашиглахын тулд ажиллуулна уу fastlane init
. Зүгээр л дага
Төслийн лавлахдаа дараах тушаалуудыг ажиллуулна уу:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
fastlane нь үндсэн тохиргоог асууж, дараа нь төсөлд гурван файл бүхий fastlane хавтас үүсгэнэ.
1. fastlane/Appfile
Энд ямар ч төвөгтэй зүйл байхгүй. Таны Apple ID болон App ID зөв эсэхийг шалгаарай.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
бүтээх үе шатуудыг тодорхойлдог. Бид fastlane-ийн олон функцийг ашигладаг тул энд бүх зүйл тодорхой байна. Бид гэрчилгээг хүлээн авч, угсрах ажлыг хийж, TestFlight руу байршуулдаг нэг мөрийг үүсгэдэг. Шаардлагатай бол та энэ үйл явцыг өөр өөр ажилд хувааж болно. Эдгээр бүх үйлдлүүд (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) аль хэдийн fastlane-д орсон байна.
Үйлдэл 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
App Store-оос баталгаажуулж, TestFlight-д байршуулахын тулд fastlane-ийн баталгаажуулалт шаардлагатай. Үүнийг хийхийн тулд CI-д ашиглагдах програмын нууц үгийг үүсгэ. Дэлгэрэнгүй мэдээлэл
Хэрэв танд хоёр хүчин зүйлийн баталгаажуулалт байгаа бол хувьсагч үүсгэнэ үү FASTLANE_SESSION
(зааварчилгаа тэнд байна).
FASTLANE_USER
и FASTLANE_PASSWORD
гэж FASTLANE_USER
и FASTLANE_PASSWORD
. Дэлгэрэнгүй мэдээлэл
Эцэст нь хэлэхэд
Энэ бүхэн хэрхэн ажилладагийг та харж болно
Энэ нь танд хэрэг болж, GitLab төсөл дээр iOS бүтээцтэй ажиллахад урам зориг өгсөн гэж найдаж байна. Энд бас нэг юм CI_BUILD_ID
(өсмөөр бүтээхэд) to
Fastlane-ийн өөр нэг гайхалтай онцлог
Бидэнд туршлагаасаа сэтгэгдлээ хуваалцаж, iOS програм хөгжүүлэхэд зориулсан GitLab-ийг сайжруулах санаагаа хуваалцаарай.
Эх сурвалж: www.habr.com