Hogyan gyűjti össze, írja alá és teszi közzé a GitLab with fastlane iOS alkalmazásokat az App Store-ban.
Nemrég volt nálunk
Itt fogjuk venni
Néhány szó az Apple Store konfigurációjáról
Szükségünk lesz egy App Store alkalmazásra, terjesztési tanúsítványokra és egy létesítési profilra, hogy mindent összekapcsoljunk.
A legnehezebb itt az aláírási jogok beállítása az App Store-ban. Remélem, erre magadtól is rájössz. Ha még új vagy, akkor eligazítom a helyes irányt, de az Apple-tanúsítványok kezelésének bonyodalmairól itt nem fogunk beszélni, és ezek folyamatosan változnak. Ez a bejegyzés segít az indulásban.
Alkalmazásaim
Szüksége van egy alkalmazásra az App Store Connectben, hogy rendelkezzen azonosítóval a konfigurációhoz .xcodebuild
. A profil és az alkalmazásazonosító egyesíti a kódösszeállításokat, az árakat és a rendelkezésre állást, valamint a TestFlight konfigurációt a tesztalkalmazások felhasználók számára történő terjesztéséhez. Ne végezzen nyilvános tesztelést, a privát tesztelés elegendő, ha kis csoportja van, egyszerű a beállítás, és nincs szüksége további engedélyekre az Apple-től.
Inicializálási profil
Az alkalmazás beállításán kívül iOS terjesztési és fejlesztési kulcsokra van szükség, amelyeket az Apple Developer Console Tanúsítványok, azonosítók és profilok szakaszában hoztak létre. Mindezek a tanúsítványok összevonhatók egy kiépítési profilba.
A hitelesített felhasználóknak képesnek kell lenniük tanúsítványok létrehozására, ellenkező esetben a lépéseket
más lehetőségek
Ezen az egyszerű módszeren kívül más módszerek is vannak a tanúsítványok és profilok konfigurálására. Tehát, ha másképp dolgozik, akkor lehet, hogy alkalmazkodnia kell. A legfontosabb dolog az, hogy konfigurációra van szükség .xcodebuild
, amely a szükséges fájlokra mutat, és a kulcstartónak elérhetőnek kell lennie a felépített számítógépen annak a felhasználónak, akinek a neve alatt a futó fut. A digitális aláíráshoz a fastlane-t használjuk, és ha problémái vannak, vagy többet szeretne tudni, nézze meg az adatait
Ebben a példában ezt a megközelítést használom
A GitLab és a fastlane előkészítése
A CI Runner előkészítése
Miután összegyűjtöttük ezeket az adatokat, áttérünk a GitLab futtatójának konfigurációjára a MacOS eszközön. Sajnos csak iOS-alkalmazásokat készíthet MacOS rendszeren. De minden változhat, és ha előrelépésre számít ezen a területen, tartsa szemmel az olyan projekteket, mint pl
A futószalag beállítása nagyon egyszerű. Kövesse az áramot
Jegyzet. A futónak futtatható programot kell használnia shell
. Erre azért van szükség, hogy az iOS-t macOS-re építse, hogy közvetlenül felhasználóként működjön, nem pedig tárolókon keresztül. Ha használ shell
, az építés és a tesztelés futó felhasználóként történik, közvetlenül a build gazdagépen. Nem olyan biztonságos, mint a konténerek, ezért jobb böngészni
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
Az Apple Keychain-t ezen a gazdagépen úgy kell konfigurálni, hogy hozzáférjenek az Xcode-hoz szükséges kulcsokhoz. Ennek tesztelésének legegyszerűbb módja, ha bejelentkezik a buildet futtató felhasználóként, és megpróbálja manuálisan felépíteni. Ha a rendszer hozzáférést kér a kulcstartóhoz, válassza a Mindig engedélyezze, hogy a CI működjön. Érdemes lehet bemenni és megfigyelni az első pár csővezetéket, hogy megbizonyosodjunk arról, hogy nem kérik többé a kulcstartót. Az a baj, hogy az Apple nem könnyíti meg az Automatic mód használatát, de ha egyszer beindul, minden rendben lesz.
fastlane init
A gyorssáv használatához egy projektben futtassa fastlane init
. Csak kövess
A projektkönyvtárban futtassa a következő parancsokat:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
A fastlane alapkonfigurációt kér, majd létrehoz egy fastlane mappát a projektben három fájllal:
1. fastlane/Appfile
Nincs itt semmi bonyolult. Csak győződjön meg arról, hogy az Apple ID és az App ID helyes.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
meghatározza az építési lépéseket. Nagyon sok fastlane beépített funkciót használunk, így itt is minden világos. Létrehozunk egy sort, amely megkapja a tanúsítványokat, elvégzi az összeállítást és feltölti a TestFlight-ba. Ezt a folyamatot szükség esetén különböző feladatokra oszthatja fel. Mindezek a műveletek (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) már szerepelnek a fastlane-ben.
Tevékenység get_certificates
и get_provisioning_profile
az aláírási megközelítéssel kapcsolatos
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
Ez egy opcionális fájl, de manuálisan hoztam létre, hogy módosítsam az alapértelmezett kimeneti könyvtárat, és helyezzem a kimenetet az aktuális mappába. Ez leegyszerűsíti a CI-t. Ha érdekel, olvass róla gym
és paraméterei benne
https://docs.fastlane.tools/actions/gym/
A miénk .gitlab-ci.yml
Tehát van egy CI futónk a projekthez, és készen állunk a csővezeték tesztelésére. Lássuk, mi van benne .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
Mindent megtesz! clone
végrehajtó programmal shell
, hogy minden összeállításhoz legyen tiszta munkaterületünk, és egyszerűen hívjon flappybuild
gyorssáv, amint fentebb látható. Ennek eredményeként megkapjuk a TestFlight legújabb összeállításának összeállítását, aláírását és telepítését.
Megkapjuk a műtárgyat is, és elmentjük az összeállítással együtt. Felhívjuk figyelmét, hogy a formátum .ipa
egy aláírt ARM futtatható fájl, amely nem fut a szimulátorban. Ha kimenetet szeretne a szimulátorhoz, csak adja hozzá az azt létrehozó összeállítási célt, majd vegye fel a műtermék elérési útjába.
Egyéb környezeti változók
Van itt néhány környezeti változó, amitől minden működik.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
A fastlane hitelesítésre van szükség az App Store-ban történő hitelesítéshez és a TestFlight-ba való feltöltéshez. Ehhez hozzon létre egy jelszót a CI-ben használt alkalmazáshoz. Részletek
Ha kétfaktoros hitelesítéssel rendelkezik, hozzon létre egy változót FASTLANE_SESSION
(az ott található utasítások).
FASTLANE_USER
и FASTLANE_PASSWORD
Hogy FASTLANE_USER
и FASTLANE_PASSWORD
. Részletek
Összefoglalva
Láthatod, hogyan működik az egész
Remélem, ez hasznos volt, és ihletet adott arra, hogy iOS buildekkel dolgozzon egy GitLab projektben. Itt van egy másik CI_BUILD_ID
(növekményes építményekhez) to
A fastlane másik nagyszerű tulajdonsága
Mondja el nekünk a megjegyzésekben tapasztalatait, és ossza meg ötleteit a GitLab iOS-alkalmazások fejlesztéséhez való fejlesztésével kapcsolatban.
Forrás: will.com