Fastlane көмегімен GitLab қалай iOS қолданбаларын жинайды, қол қояды және App Store дүкенінде жариялайды.
Бізде жақында болды
Міне, аламыз
Apple Store конфигурациясы туралы бірнеше сөз
Барлығын біріктіру үшін бізге App Store қолданбасы, тарату сертификаттары және дайындау профилі қажет.
Мұнда ең қиын нәрсе - App Store дүкенінде қол қою құқықтарын орнату. Сіз мұны өзіңіз анықтай аласыз деп үміттенемін. Егер сіз жаңа болсаңыз, мен сізге дұрыс бағытты көрсетемін, бірақ біз мұнда Apple сертификаттарын басқарудың күрделілігі туралы айтпаймыз және олар үнемі өзгеріп отырады. Бұл пост сізге бастауға көмектеседі.
Менің қолданбаларым
Конфигурация үшін идентификатор болуы үшін сізге App Store Connect қолданбасында қажет .xcodebuild
. Профиль және қолданба идентификаторы пайдаланушыларға сынақ қолданбаларын таратуға арналған код құрастыруларын, баға мен қолжетімділікті және TestFlight конфигурациясын біріктіреді. Жалпыға ортақ тестілеуді жасамаңыз, егер сізде шағын топ болса, оңай орнату және Apple компаниясынан қосымша рұқсаттар қажет болмаса, жеке тестілеу жеткілікті болады.
Инициализация профилі
Қолданбаны орнатуға қоса, Apple әзірлеуші консолінің Сертификаттар, идентификаторлар және профильдер бөлімінде жасалған iOS тарату және әзірлеу кілттері қажет. Осы сертификаттардың барлығын дайындау профиліне біріктіруге болады.
Аутентификацияланатын пайдаланушылар сертификаттарды жасай алуы керек, әйтпесе қадамдар
басқа нұсқалары
Бұл қарапайым әдістен басқа, сертификаттар мен профильдерді конфигурациялаудың басқа жолдары бар. Сондықтан, егер сіз басқаша жұмыс жасасаңыз, сізге бейімделуге тура келуі мүмкін. Ең бастысы, конфигурация қажет .xcodebuild
, ол қажетті файлдарды көрсетеді және кілттік тізбек жүгіруші іске қосылған пайдаланушы үшін құрастырылған компьютерде қолжетімді болуы керек. Электрондық цифрлық қолтаңба үшін біз fastlane қолданамыз, егер проблемалар туындаса немесе сіз көбірек білгіңіз келсе, олардың мәліметтерін қараңыз
Бұл мысалда мен әдісті қолданамын
GitLab және fastlane дайындалуда
CI Runner дайындалуда
Осы деректерді жинағаннан кейін біз MacOS құрылғысындағы GitLab жүгіргішінің конфигурациясына көшеміз. Өкінішке орай, iOS қолданбаларын тек MacOS жүйесінде жасай аласыз. Бірақ бәрі өзгеруі мүмкін, егер сіз осы салада ілгерілеуді күтсеңіз, сияқты жобаларды қадағалаңыз
Жүгіргішті орнату өте қарапайым. Ағымды ұстаныңыз
Ескерту. Жүгіруші орындалатын бағдарламаны пайдалануы керек 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 бізге Авто режимін пайдалануды жеңілдетпейді, бірақ оны іске қосқаннан кейін бәрі жақсы болады.
fastlane init
Жобада жылдам жолды пайдалану үшін іске қосыңыз 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_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
(өсімді құрастырулар үшін) дейін
Фастлейннің тағы бір керемет ерекшелігі
Тәжірибеңіз туралы түсініктемелерде айтып беріңіз және iOS қолданбасын әзірлеуге арналған GitLab жүйесін жақсарту бойынша идеяларыңызбен бөлісіңіз.
Ақпарат көзі: www.habr.com