Nerbitake aplikasi iOS menyang App Store nganggo GitLab lan fastlane

Nerbitake aplikasi iOS menyang App Store nganggo GitLab lan fastlane

Kepiye GitLab karo fastlane nglumpukake, menehi tandha lan nerbitake aplikasi iOS menyang App Store.

We bubar wis kirim babagan carane cepet mbangun lan mbukak aplikasi Android karo GitLab lan dalan cepet. Ing kene kita bakal weruh carane nggawe lan mbukak aplikasi iOS lan nerbitake menyang TestFlight. Priksa metu carane kelangan iku Aku nggawe pangowahan ing iPad Pro karo GitLab Web IDE, Aku njupuk Déwan lan njaluk nganyari kanggo versi test saka aplikasi ing iPad Pro padha ngendi aku dikembangaké.

Kene kita bakal njupuk app iOS prasaja ing Swift, karo sapa aku ngrekam video.

Sawetara tembung babagan konfigurasi Apple Store

Kita butuh aplikasi App Store, sertifikat distribusi, lan profil provisioning kanggo nggabungake kabeh.

Sing paling angel ing kene yaiku nyetel hak teken ing App Store. Muga-muga sampeyan bisa ngerteni iki dhewe. Yen sampeyan lagi anyar, Aku bakal nuduhake sampeyan ing arah tengen, nanging kita ora bakal pirembagan bab intricacies saka ngatur sertifikat Apple kene, lan padha saya ganti. Kiriman iki bakal mbantu sampeyan miwiti.

Aplikasi Kula

Sampeyan mbutuhake app ing App Store Connect supaya sampeyan duwe ID kanggo konfigurasi .xcodebuild. Profil lan ID aplikasi nggabungake kode mbangun, rega lan kasedhiyan, lan konfigurasi TestFlight kanggo nyebarake aplikasi tes menyang pangguna. Aja nindakake tes umum, tes pribadi bakal cukup yen sampeyan duwe klompok cilik, persiyapan sing gampang, lan ora mbutuhake ijin tambahan saka Apple.

Profil wiwitan

Saliyane persiyapan app, sampeyan butuh distribusi lan kunci pangembangan iOS sing digawe ing bagean Sertifikat, Pengenal & Profil ing konsol Pangembang Apple. Kabeh sertifikat kasebut bisa digabung dadi profil provisioning.

Pangguna sing bakal diotentikasi kudu bisa nggawe sertifikat, yen ora, langkah-langkah kasebut cert lan desahan sampeyan bakal weruh kesalahan.

opsi liyane

Saliyane cara sing gampang iki, ana cara liya kanggo ngatur sertifikat lan profil. Dadi, yen sampeyan kerja kanthi beda, sampeyan bisa uga kudu adaptasi. Sing paling penting yaiku sampeyan butuh konfigurasi .xcodebuild, sing bakal nuduhake file sing dibutuhake, lan keychain kudu kasedhiya ing komputer mbangun kanggo pangguna sing jenenge runner mlaku. Kanggo teken digital kita nggunakake fastlane, lan yen ana masalah utawa sampeyan pengin ngerti liyane, mriksa metu rincian dokumentasi babagan teken digital.

Ing conto iki aku nggunakake pendekatan cert lan desahan, nanging kanggo nggunakake nyata mbokmenawa luwih cocok match.

Nyiyapake GitLab lan fastlane

Persiapan CI Runner

Sawise ngumpulake kabeh data iki, kita pindhah menyang konfigurasi runner GitLab ing piranti MacOS. Sayange, sampeyan mung bisa nggawe aplikasi iOS ing MacOS. Nanging kabeh bisa diganti, lan yen sampeyan ngarepake kemajuan ing wilayah iki, ngawasi proyek kaya xcbangun и tandha, lan tugas internal kita gitlab-ce#57576.

Nggawe pelari gampang banget. Tindakake saiki instruksi kanggo nyetel GitLab Runner ing macOS.

Cathetan. Pelari kudu nggunakake program sing bisa dieksekusi shell. Iki dibutuhake kanggo mbangun iOS ing macOS supaya bisa langsung dadi pangguna tinimbang liwat wadhah. Yen sampeyan nggunakake shell, bangunan lan testing dileksanakake minangka pangguna runner, langsung ing inang mbangun. Ora aman kaya wadhah, dadi luwih apik browsing dokumentasi safetydadi kowe ora kangen apa-apa.

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 kudu dikonfigurasi ing host iki kanthi akses menyang tombol sing kudu dibangun Xcode. Cara paling gampang kanggo nguji iki yaiku mlebu minangka pangguna sing bakal mbukak mbangun lan nyoba mbangun kanthi manual. Yen sistem njaluk akses keychain, pilih Tansah Allow kanggo CI bisa digunakake. Sampeyan bisa uga kudu mlebu lan nonton saluran pipa pisanan kanggo mesthekake yen dheweke ora njaluk gantungan kunci maneh. Masalahe yaiku Apple ora nggampangake kita nggunakake mode Otomatis, nanging yen wis rampung, kabeh bakal apik.

fastlane init

Kanggo nggunakake fastlane ing proyek, mbukak fastlane init. Mung tindakake instruksi kanggo nginstal lan mlaku fastlane, utamané ing bagean babagan Gemfile, amarga kita butuh peluncuran sing cepet lan bisa ditebak liwat pipa CI otomatis.

Ing direktori proyek sampeyan, jalanake printah iki:

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

fastlane bakal njaluk konfigurasi dhasar banjur nggawe folder fastlane ing proyek kasebut kanthi telung file:

1. fastlane/Appfile

Ora ana sing rumit ing kene. Priksa manawa Apple ID lan App ID wis bener.

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

2. fastlane/Fastfile

Fastfile nemtokake langkah-langkah mbangun. Kita nggunakake akeh fitur sing dibangun ing fastlane, mula kabeh uga jelas ing kene. Kita nggawe siji baris sing nampa sertifikat, nindakake perakitan lan diunggah menyang TestFlight. Sampeyan bisa mbagi proses iki dadi tugas sing beda yen perlu. Kabeh operasi kasebut (get_certificates, get_provisioning_profile, gym и upload_to_testflight) wis kalebu ing fastlane.

Tindakan get_certificates и get_provisioning_profile gegayutan karo pendekatan teken cert lan desahan. Yen sampeyan nggunakake match utawa apa wae, gawe owah-owahan.

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

Iki minangka file opsional, nanging aku nggawe kanthi manual kanggo ngganti direktori output standar lan nyelehake output ing folder saiki. Iki nyederhanakake CI. Yen kasengsem, maca babagan gym lan paramèter ing dokumentasi.

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

Kito .gitlab-ci.yml

Dadi, kita duwe pelari CI kanggo proyek kasebut lan kita siap nguji pipa kasebut. Ayo ndeleng apa sing ana ing .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

Все отлично! We nyetel format kanggo UTF-8 kanggo fastlane minangka dibutuhake, gunakake strategi clone karo eksekusi program shell, supaya kita duwe ruang kerja sing resik kanggo saben perakitan, lan mung nelpon flappybuild fastlane, kaya sing katon ing ndhuwur. Akibaté, kita entuk perakitan, teken lan panyebaran rakitan paling anyar ing TestFlight.

Kita uga njaluk artefak lan nyimpen karo perakitan. Wigati dimangerteni manawa format kasebut .ipa minangka eksekusi ARM sing ditandatangani sing ora bisa digunakake ing simulator. Yen sampeyan pengin output kanggo simulator, mung nambah target mbangun sing mrodhuksi, lan banjur kalebu ing path artefak.

Variabel lingkungan liyane

Ana sawetara variabel lingkungan ing kene sing nggawe kabeh bisa digunakake.

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION

Otentikasi kanggo fastlane dibutuhake kanggo otentikasi ing App Store lan upload menyang TestFlight. Kanggo nindakake iki, gawe sandhi kanggo aplikasi sing bakal digunakake ing CI. Rincian kene.

Yen sampeyan duwe otentikasi rong faktor, gawe variabel FASTLANE_SESSION (instruksi ana).

FASTLANE_USER и FASTLANE_PASSWORD

sing cert lan desahan disebut profil initialization lan sertifikat ing request, sampeyan kudu nyetel variabel FASTLANE_USER и FASTLANE_PASSWORD. Rincian kene. Iki ora perlu yen sampeyan nggunakake cara teken beda.

Ing kesimpulan

Sampeyan bisa ndeleng carane iku kabeh bisa ing conto prasaja sandi.

Muga-muga iki bisa mbantu lan menehi inspirasi kanggo nggarap bangunan iOS ing proyek GitLab. Iki liyane tips CI kanggo fastlane, mung ing kasus. Sampeyan bisa uga pengin nggunakake CI_BUILD_ID (kanggo mbangun tambahan) kanggo otomatis nambah versi.

Fitur keren liyane saka fastlane yaiku gambar otomatis kanggo App Store, sing gampang banget kanggo nyiyapake.

Marang kita ing komentar babagan pengalaman lan nuduhake gagasan kanggo nambah GitLab kanggo pangembangan app iOS.

Source: www.habr.com

Add a comment