
Fastlane көмегімен GitLab қалай iOS қолданбаларын жинайды, қол қояды және App Store дүкенінде жариялайды.
Бізде жақында болды GitLab көмегімен және . Мұнда iOS қолданбасын құру және іске қосу және оны TestFlight-та жариялау жолын көреміз. Оның қаншалықты салқын екенін тексеріңіз , Мен құрастыруды алып, оны жасаған iPad Pro-да қолданбаның сынақ нұсқасына жаңартуды аламын.
Міне, аламыз , мен видеоны кіммен түсірдім.
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 startApple Keychain осы хостта Xcode құруға қажетті кілттерге қатынасу арқылы конфигурациялануы керек. Мұны тексерудің ең оңай жолы - құрастыруды іске қосатын пайдаланушы ретінде жүйеге кіріп, оны қолмен жасауға тырысу. Жүйе кілттерге қол жеткізуді сұраса, CI жұмыс істеуіне Әрқашан рұқсат беру параметрін таңдаңыз. Енді брелокты сұрамайтынына көз жеткізу үшін бірінші жұп құбырларға кіріп, қарап шығу керек шығар. Мәселе мынада, Apple бізге Авто режимін пайдалануды жеңілдетпейді, бірақ оны іске қосқаннан кейін бәрі жақсы болады.
fastlane init
Жобада жылдам жолды пайдалану үшін іске қосыңыз fastlane init. Тек орындаңыз , әсіресе туралы бөлімінде , өйткені бізге автоматтандырылған CI құбыры арқылы жылдам және болжамды іске қосу қажет.
Жоба каталогында мына пәрмендерді іске қосыңыз:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane initfastlane негізгі конфигурацияны сұрайды, содан кейін жобада үш файлы бар fastlane қалтасын жасайды:
1. fastlane/Appfile
Мұнда күрделі ештеңе жоқ. Apple ID және қолданба идентификаторы дұрыс екеніне көз жеткізіңіз.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("your-email@your-domain.com") # Your Apple email address2. 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
end3. 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 құрастыруларымен жұмыс істеуге шабыттандырды деп үміттенемін. Міне, басқасы fastlane үшін, тек жағдайда. Сіз пайдаланғыңыз келуі мүмкін CI_BUILD_ID (өсімді құрастырулар үшін) дейін .
Фастлейннің тағы бір керемет ерекшелігі App Store үшін, оларды орнату өте оңай.
Тәжірибеңіз туралы түсініктемелерде айтып беріңіз және iOS қолданбасын әзірлеуге арналған GitLab жүйесін жақсарту бойынша идеяларыңызбен бөлісіңіз.
Ақпарат көзі: www.habr.com
