Fastlane менен GitLab кантип iOS тиркемелерин App Store дүкөнүнө чогултат, кол коёт жана жарыялайт.
Бизде жакында болгон
Мына биз алабыз
Apple Store конфигурациясы жөнүндө бир нече сөз
Баарын бириктирүү үчүн бизге App Store колдонмосу, бөлүштүрүү сертификаттары жана камсыздоо профили керек болот.
Бул жерде эң кыйын нерсе - App Store дүкөнүндө кол коюу укуктарын орнотуу. Муну өзүңүз чече аласыз деп үмүттөнөм. Эгер сиз жаңы болсоңуз, мен сизге туура багыт берем, бирок биз бул жерде Apple сертификаттарын башкаруунун татаалдыктары жөнүндө айтпайбыз жана алар дайыма өзгөрүп турат. Бул пост сизге баштоого жардам берет.
Менин тиркемелерим
Конфигурациялоо үчүн ID болушу үчүн сизге App Store Connect колдонмосунда керек .xcodebuild
. Профиль жана колдонмо идентификатору колдонуучуларга тесттик тиркемелерди таратуу үчүн коддун түзүлүшүн, баасын жана жеткиликтүүлүгүн жана TestFlight конфигурациясын бириктирет. Жалпыга ачык тестирлөөнү жасабаңыз, эгер сизде чакан топ болсо, жөндөө оңой болсо жана Apple'ден кошумча уруксаттардын кереги жок болсо, жеке тестирлөө жетиштүү болот.
Инициализация профили
Колдонмону орнотуудан тышкары, сизге Apple Developer консолунун Сертификаттар, Идентификаторлор жана Профильдер бөлүмүндө түзүлгөн iOS жайылтуу жана иштеп чыгуу ачкычтары керек. Бул сертификаттардын бардыгын провизия профилине бириктирсе болот.
Аныктыгы текшериле турган колдонуучулар сертификаттарды түзө алышы керек, антпесе кадамдар
башка параметрлери
Бул жөнөкөй ыкмадан тышкары, сертификаттарды жана профилдерди конфигурациялоонун башка жолдору бар. Демек, эгер сиз башкача иштесеңиз, ыңгайлашууга туура келиши мүмкүн. Эң негизгиси, сизге конфигурация керек .xcodebuild
, ал керектүү файлдарды көрсөтөт жана брелок жөө күлүк аты менен иштеп жаткан колдонуучу үчүн куруу компьютеринде жеткиликтүү болушу керек. Санариптик кол коюу үчүн биз fastlane колдонобуз жана көйгөйлөр болсо же көбүрөөк билгиңиз келсе, алардын чоо-жайын текшериңиз
Бул мисалда мен ыкманы колдонуп жатам
GitLab жана fastlane даярдалууда
CI Runner даярдалууда
Бул маалыматтардын баарын чогултуп, биз MacOS түзмөгүндөгү GitLab жөө күлүгүнүн конфигурациясына өтөбүз. Тилекке каршы, сиз MacOSто iOS колдонмолорун гана жасай аласыз. Бирок баары өзгөрүшү мүмкүн, жана бул жаатта прогрессти күтсөңүз, сыяктуу долбоорлорго көз салыңыз
Жөө күлүктү орнотуу абдан жөнөкөй. Учурдагы ээрчүү
Эскертүү. Жөө күлүк аткарылуучу программаны колдонушу керек shell
. Бул контейнерлер аркылуу эмес, түздөн-түз колдонуучу катары иштөө үчүн iOS'ту macOS'то куруу үчүн талап кылынат. Эгер колдонуп жатсаңыз 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 Keychain бул хостто 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
Колдонмолор дүкөнүндө аныктыгын текшерүү жана TestFlight'ка жүктөө үчүн fastlane үчүн аутентификация талап кылынат. Бул үчүн, CIде колдонула турган колдонмо үчүн сырсөз түзүңүз. Толук маалымат
Эгер сизде эки фактордук аутентификация болсо, өзгөрмө түзүңүз FASTLANE_SESSION
(көрсөтмөлөр ошол жерде).
FASTLANE_USER
и FASTLANE_PASSWORD
ошол FASTLANE_USER
и FASTLANE_PASSWORD
. маалымат
Жыйынтык
Мунун баары кантип иштээрин көрө аласыз
Бул пайдалуу болду жана сизге GitLab долбоорунда iOS түзүмдөрү менен иштөөгө шыктандырды деп үмүттөнөм. Бул жерде дагы бир CI_BUILD_ID
(кошумча курулуштар үчүн) чейин
Fastlane дагы бир сонун өзгөчөлүгү болуп саналат
Тажрыйбаңыз тууралуу комментарийлерде айтып бериңиз жана iOS тиркемесин иштеп чыгуу үчүн GitLab'ти жакшыртуу боюнча идеяларыңыз менен бөлүшүңүз.
Source: www.habr.com