Ku daabacida codsiyada iOS App Store oo wata GitLab iyo fastlane

Ku daabacida codsiyada iOS App Store oo wata GitLab iyo fastlane

Sida GitLab ee leh fastlane u ururiso, calaamadiso oo u daabacdo codsiyada iOS App Store.

Waxaan dhawaan lahaa ku dheji sida degdega ah loo dhiso oo loo socodsiiyo arjiga Android oo leh GitLab iyo fastlane. Halkan waxaan ku arki doonaa sida loo dhiso oo loo maamulo abka iOS oo aan u daabacno TestFlight. Eeg sida ay u fiican tahay Waxaan isbedel ku samaynayaa iPad Pro oo leh GitLab Web IDE, Waxaan qaataa shirka oo aan cusboonaysiiyaa nooca tijaabada ee arjiga isla iPad Pro halkaas oo aan ku soo saaray.

Halkan waxaan ku qaadan doonaa fudud ee iOS app on Swift, oo aan la duubay muuqaalka.

Dhawr kelmadood oo ku saabsan habaynta dukaanka Apple

Waxaan u baahan doonaa abka App Store, shahaadooyin qaybinta, iyo astaanta bixinta si aan wax walba isugu xidhno.

Waxa ugu adag halkan waa samaynta xuquuqaha saxeexa ee App Store. Waxaan rajaynayaa in aad adigu naftaada garan karto. Haddii aad cusub tahay, waxaan ku tilmaami doonaa jihada saxda ah, laakiin kama hadli doono qallafsanaanta maaraynta shahaadooyinka Apple halkan, waxayna si joogto ah u beddelaan. Qoraalkan ayaa kaa caawin doona inaad bilowdo.

Barnaamijyadayda

Waxaad u baahan tahay abka ku jira App Store Connect si aad u haysato aqoonsiga qaabaynta .xcodebuild. Astaanta iyo aqoonsiga codsigu waxay isku daraan kood dhisma, qiimaynta iyo helitaanka, iyo isku xidhka TestFlight si loogu qaybiyo isticmaalayaasha codsiyada imtixaanka. Ha samayn imtixaan dadweyne, tijaabada gaarka ah ayaa kugu filnaan doonta haddii aad leedahay koox yar, habayn fudud, oo aadan uga baahnayn ogolaansho dheeraad ah Apple.

Muuqaalka bilowga

Marka laga soo tago habaynta abka, waxaad u baahan tahay qaybinta iOS iyo furayaasha horumarinta ee lagu dhex abuuray Shahaadooyinka, Identifiers & Profiles ee qaybta Apple Developer console. Dhammaan shahaadooyinkan waxaa lagu dari karaa astaanta bixinta.

Isticmaalayaasha la xaqiijin doono waxay u baahan yihiin inay awoodaan inay abuuraan shahaadooyin, haddii kale talaabooyinka shahaado iyo taah waxaad arki doontaa qalad.

fursadaha kale

Ka sokow habkan fudud, waxaa jira siyaabo kale oo loo habeeyo shahaadooyinka iyo profiles. Marka, haddii aad si ka duwan u shaqeyso, waxaa laga yaabaa inaad la qabsato. Waxa ugu muhiimsan waa inaad u baahan tahay qaabeynta .xcodebuild, kaas oo tilmaamaya faylasha lagama maarmaanka ah, iyo furaha furaha waa in laga helaa kumbiyuutarka la dhisayo ee isticmaalaha magaciisa ku shaqeeya. Saxeexa dhijitaalka ah waxaan u isticmaalnaa fastlane, iyo haddii ay jiraan dhibaatooyin ama aad rabto inaad wax badan ka ogaato, hubi faahfaahintooda dukumeenti ku saabsan saxiixyada dhijitaalka ah.

Tusaalahan waxaan isticmaalayaa habka shahaado iyo taah, laakiin isticmaalka dhabta ah waxay u badan tahay inay ku habboon tahay ciyaarta.

Diyaarinta GitLab iyo fastlane

Diyaarinta CI Runner

Markaan aruurinay xogtan oo dhan, waxaan u gudubnay qaabeynta orodiyaha GitLab ee aaladda MacOS. Nasiib darro, waxaad kaliya ku samayn kartaa abka iOS MacOS. Laakiin wax walba way isbedeli karaan, oo haddii aad filayso horumarka aaggan, isha ku hay mashaariicda sida xcbuild ΠΈ saxiix, iyo hawshayada gudaha gitlab-ce#57576.

Dejinta orodyahanka waa mid aad u fudud. Lasoco hadda Tilmaamaha loogu talagalay dejinta GitLab Runner ee macOS.

Ogow. Orodyahanku waa inuu isticmaalo barnaamij la fulin karo shell. Tan waxaa looga baahan yahay in lagu dhiso macOS macOS si ay si toos ah ugu shaqeyso isticmaale ahaan halkii ay ka ahaan lahayd weelasha. Haddii aad isticmaalayso shell, dhismaha iyo tijaabinta waxaa loo sameeyaa sida isticmaalaha orodyahanka, si toos ah dhismaha martida loo yahay. Ma aha mid ammaan ah sida weelasha, si fiican u baadho dukumentiyada badbaadadasi aadan waxba u seegin.

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 waa in lagu habeeyaa martida loo yahay iyada oo la heli karo furayaasha uu Xcode u baahan yahay inuu dhiso. Habka ugu fudud ee tan lagu tijaabin karo waa in aad gasho sida isticmaale kaas oo maamuli doona dhismaha oo uu isku dayo in uu gacanta ku dhiso. Haddii nidaamku ku weydiiyo gelitaanka silsiladda furaha, dooro Had iyo jeer Oggolow CI inuu shaqeeyo. Waxa laga yaabaa in ay mudan tahay in la galo oo la daawado labada dhuumood ee ugu horreeya si loo hubiyo in aanay mar dambe waydiisan silsiladda furaha. Dhibka jira ayaa ah in Apple aanu noo fududayn isticmaalka Auto mode, laakiin marka aad hesho, wax walba way fiicnaan doonaan.

fastlane init

Si aad u isticmaasho fastlane mashruuca, orod fastlane init. Kaliya raac tilmaamaha rakibidda iyo socodsiinta fastlane, gaar ahaan qaybta ku saabsan Gemfile, sababtoo ah waxaan u baahanahay si degdeg ah oo la saadaalin karo iyada oo loo marayo dhuumaha CI si toos ah.

Buugga mashruucaaga, ku socodsii amarradan:

xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init

fastlane waxay waydiisan doontaa qaabeynta aasaasiga ah ka dibna waxay abuuri doontaa faylka fastlane ee mashruuca oo leh saddex fayl:

1. fastlane/Appfile

Ma jiraan wax adag halkan. Kaliya iska hubi aqoonsigaaga Apple ID iyo App ID inay sax yihiin.

app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address

2. fastlane/Fastfile

Fastfile qeexayaa talaabooyinka dhismaha. Waxaan isticmaalnaa sifooyin badan oo Fastlane ah oo ku dhex jira, sidaa darteed wax waliba halkan waa ku cad yihiin. Waxaan abuurnaa hal xariiq oo hela shahaadooyin, fulinaya kulanka oo ku dhejiya TestFlight. Waxaad u qaybin kartaa habkan hawlo kala duwan haddii loo baahdo. Dhammaan hawlgalladan (get_certificates, get_provisioning_profile, gym ΠΈ upload_to_testflight) ayaa mar hore lagu daray fastlane.

Falalka get_certificates ΠΈ get_provisioning_profile la xiriira habka saxiixa shahaado iyo taah. Haddii aad isticmaalayso ciyaarta ama wax kasta, isbedel samee.

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

Kani waa fayl ikhtiyaari ah, laakiin waxaan u abuuray gacanta si aan u beddelo buugga wax-soo-saarka caadiga ah oo aan u dhigo wax-soo-saarka galka hadda jira. Tani waxay fududaynaysaa CI. Haddii aad xiisaynayso, akhri gym iyo xuduudaheeda in dukumentiyo.

https://docs.fastlane.tools/actions/gym/

Dirraa .gitlab-ci.yml

Markaa, waxa aanu mashruucan u haynaa orodyahan CI oo aanu diyaar u nahay in aanu tijaabino dhuumaha. Aan aragno waxa aan ku hayno .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

Wax walba waa fiican yihiin! Waxaan u dejinay qaabka UTF-8 ee fastlane sida loogu baahdo, isticmaal xeelad clone oo leh barnaamijka fulinta shell, si aan u helno goob shaqo oo nadiif ah kulan kasta, oo si fudud u wac flappybuild fastlane, sida kor lagu arkay. Natiijo ahaan, waxaan helnaa shirka, saxeexa iyo dejinta shirkii ugu dambeeyay ee TestFlight.

Waxaan sidoo kale helnaa agabka oo aan ku kaydinnaa golaha. Fadlan la soco in qaabka .ipa waa ARM saxeexan oo la fulin karo oo aan ku shaqayn simulator-ka. Haddii aad rabto wax soo saar simulator-ka, kaliya ku dar bartilmaameedka la dhisayo ee soo saara, ka dibna ku dar dariiqa farshaxanimada.

Doorsoomayaasha deegaanka ee kale

Waxaa jira dhowr doorsoomayaal deegaan oo ka dhigaya wax walba inay shaqeeyaan.

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD ΠΈ FASTLANE_SESSION

Xaqiijinta fastlane ayaa loo baahan yahay si loo xaqiijiyo gudaha App Store oo loo geliyo TestFlight. Si tan loo sameeyo, u samee furaha sirta ah ee codsiga loo isticmaali doono CI. Faahfaahin halkan.

Haddii aad haysato xaqiijinta laba-factor, samee doorsoome FASTLANE_SESSION (tilmaanta halkaas).

FASTLANE_USER ΠΈ FASTLANE_PASSWORD

in shahaado iyo taah loo yaqaan astaanta bilowga iyo shahaadooyinka marka la codsado, waxaad u baahan tahay inaad dejiso doorsoomayaasha FASTLANE_USER ΠΈ FASTLANE_PASSWORD. Faahfaahin halkan. Tani ma aha lagama maarmaan haddii aad isticmaalayso hab saxiix oo ka duwan.

Gabagabada

Waad arki kartaa sida ay u wada shaqeeyaan Tusaalahayga fudud.

Waxaan rajeynayaa in tani ay tahay mid waxtar leh oo kugu dhiirigelisay inaad la shaqeyso iOS-ka ku dhiso mashruuca GitLab. Waa kan mid kale Talooyin CI loogu talagalay fastlane, haddii ay dhacdo. Waxaa laga yaabaa inaad rabto inaad isticmaasho CI_BUILD_ID (dhismaha kordhinta) ku si toos ah u kordhin nooca.

Muuqaal kale oo wanaagsan oo ah fastlane waa shaashado toos ah App Store, oo aad u fudud in la dejiyo.

Noo sheeg faallooyinka ku saabsan khibradaada oo wadaag fikradahaaga hagaajinta GitLab ee horumarinta abka iOS.

Source: www.habr.com

Add a comment