Hogyan készítsünk iOS on-demand build rendszert Jenkins és Fastlane segítségével

Ez a cikk az iOS buildek létrehozásáról szól a Jenkins BOT-on keresztül, távolról, fejlesztő nélkül.

Mielőtt elkezdeném, szeretném elmondani, hogy ez az első cikkem. Tehát nyugodtan írj megjegyzést, ha valami javítható :)

Miért jó ötlet?

Amikor egy fejlesztő elkészít egy funkciót, akkor a minőségbiztosítási tesztet elvégzi, mielőtt a termelésbe állítja. Tehát egy buildet meg kell osztani a minőségbiztosítási csapattal néhány tesztkonfigurációval.

Az Xcode (IDE) jelentős időt vesz igénybe a build összeállításához és előállításához. Ez azt jelenti, hogy minden olyan személynek, akinek szüksége van a buildre, telepítenie kell az IDE-t, klónoznia kell az adattárat, létre kell hoznia egy aláíró identitást és tanúsítványt, majd maguk kell létrehozniuk a buildet. Vagy attól függ, hogy a fejlesztő létrehoz-e nekik egyet.

A build létrehozása során az IDE használhatatlan. Ez súlyosan befolyásolja a fejlesztő termelékenységét. Cégemnél egy .ipa átlagos építési ideje körülbelül 20 perc. Egy fejlesztő átlagosan 2-3 építést készít naponta.

Ez azt jelenti, hogy heti 5 munkaóra pazarlódik el.

De mi lenne, ha létezne olyan automatizált rendszer, amely önállóan képes létrehozni az építkezéseket? Ez megszabadítaná a fejlesztőket ettől a felelősségtől. Ez azt is lehetővé tenné, hogy bárki könnyen megszerezhesse az építést.

A Jenkins az egyik megoldás a problémánkra.

Az építések könnyen elérhetővé tétele a tesztelők és a fejlesztők számára biztosítja, hogy az emberek gyorsabban tesztelhessék a funkciókat és könnyebben szállíthassák a gyártásba. Ez javítja a fejlesztő csapatok termelékenységét. Ez javítja a gyártásba szorított termékek minőségét is.

Kezdjük most.

Előfeltételek

Szüksége lesz:

  • macOS Machine (jobb, ha Mac termékeken futtatja)
  • 10 GB meghajtó (Jenkins számára)
  • A Java 8 telepítve (JRE vagy Java Development Kit (JDK) rendben van)

    //www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

További beépülő modulok telepítése

  • homebrew
  • wget
  • RVM bővítmény

    Telepítési útmutató

    //rvm.io/rvm/biztonság

Készítsen egy fiókot, amelyben egy fájl található, amelynek neve Jenkinsfileés mintakódja van:

node {

sh ‘echo HelloWorld’

}

Nevezzük meg jenkins-integrációnak . Erre később visszatérek.

  • Telepítse az Xcode-ot a számítógépére az App Store-ból
  • Telepítse a Fastlane-t a gépére. Jenkins belsőleg a fastlane parancsokat használja az buildek létrehozásához.

Most menjünk át lépésről lépésre.

1. lépés: Telepítse a Jenkins-t a gépére

Telepíthet MacBook-ra vagy mac-mini-re. A Mac-mini előnyös, mivel életben tartható.

Töltse le Jenkins -> //jenkins.io/

Futtassa a java -jar jenkins.war --httpPort = 8080 parancsot. Ha hibát észlel a terminálban, próbáljon meg egy másik portot (például 9090), mivel néha egyes portok nem érhetők el.

Keresse meg a // localhost: 8080 címet, és kövesse az utasításokat a telepítés befejezéséhez.

Ezután adjon hozzá rendszergazdai hitelesítő adatokat, és ne felejtse el azokat (ahogy én is tettem: P). Később léphet a Jenkins> Jenkins kezelése> Felhasználókezelők menüpontra, és szükség esetén elvégezheti a módosításokat.

2. lépés. Az első csővezeték létrehozása

Hozzon létre egy új munkát, és válassza a Pipeline Project lehetőséget .

Ahhoz, hogy nézd meg a projekt keretében részben Pipeline, a definíció, válasszon Pipeline Script SCM és SCM választani Git

Ezután adja hozzá a repo URL-jét, és adja hozzá a hitelesítő adatokat, ha az privát repo. Az építendő ágakban adja hozzá a * / jenkins -integrációt,az ág, amelyet korábban létrehoztunk.

Győződjön meg arról, hogy a Script Path az a Jenkinsfile, amelyet új fiókunkban hoztunk létre. Az összes szkriptet ebbe a Jenkinsfile-be fogják írni.

Kattintson a Mentés gombra, és a Jenkins automatikusan beolvassa a repót az említett ággal, és futtatja a Jenkinsfile parancsfájlt.

Most készen állunk a Jenkinsfile konfigurálására buildek létrehozására

3. lépés: Adjon hozzá paramétereket a Jobhoz

Felhasználói bevitel szükséges a

  • ág
  • környezet (teszt vagy prod)

Ehhez be kell állítanunk a projektünket úgy, hogy felvegye a munka bemeneti paramétereit.

Lépjen a Konfigurálás szakaszba, és ellenőrizze, hogy a projekt paraméterezve van-e .

Ezután válassza a paraméter hozzáadása elemet, és adja hozzá ugyanazt.

Ha rákattint a mentésre, a bal oldalon egy új szakasz jelenik meg - & g t; Építsen a Paraméterekkel . Ez lesz a felhasználói felület az építések készítéséhez.

Ezeket a paramétereket a Jenkins szkriptünkben fogjuk használni.

3. lépés. Konfigurálja a Jenkins szkriptet

Több lépést hoz létre a Jenkinsfile-ban, mindegyik egy felelősséggel tartozik, és egy szép felhasználói felületet hoz létre, amikor felépül.

Nyissa meg a Jenkinsfile fájlt, és cserélje le a szkriptet a következővel:

Először ellenőrizze az elágazást a korábban hozzáadott paraméteren keresztül. Adja hozzá a repót és a GitHub tokent.

Most a GitHub tokent nem szabad mások számára láthatnia. Ehhez lépjen a Jenkins kezelése oldalra - & g t; Konfigurálja a Sys tem -> Globális tulajdonságokat és adjon hozzá github Tokent környezeti változóként.

Ezután hívja meg a szkriptet a környezet megváltoztatásához.

Ezután hívja meg a fastlane-t a tisztításhoz (távolítsa el a származtatott adatokat, törölje, törölje .dsym fájlokat stb.)

Ha kód aláírásra van szükség, akkor ezt ad-hoc segítségével hajtsa végre . Igényeinek megfelelően használhatja a fejlesztőt vagy az alkalmazásboltot .

Ezután hozzon létre buildeket a tornaterem parancsával a fastlane-ben.

4. lépés: Futtassa a munkát

Most kész a forgatókönyvünk. Nyissa meg a Jenkins oldalt, és nyissa meg a Build with Parameters lehetőséget.

Ez elkezdi futtatni a szkriptet, és létrehoz egy szép felhasználói felületet, több lépéssel, amint azt a Jenkinsfile tartalmazza.

A feladat befejezése után lépjen a Users / agammahajan / .jenkins / workspace / iOS_Build_Systems projekthez.

és látni fogja, hogy a .ipa létrejött. Voálá!

Most megoszthatja ezt az összeállítást másokkal. A Slack bővítmény segítségével feltöltheti az építkezéseket a Slackbe, ha akarja.

Csomagolás

Tehát itt összefoglalva láthatjuk, milyen egyszerű telepíteni egy automatizált botot, amely lehetővé teszi, hogy bárki csak 2 lépésben indítsa el az építkezéseket : Adjon fiókot -> Tesztkörnyezet -> Kész.

Ez segített nekem és fejlesztő társaimnak a termelékenység javításában és a gyorsabb szállításban. Ez segítette a minőségbiztosítási csapatot is, így nem kell minden esetben a fejlesztőktől függeniük, amikor valamit tesztelniük kell. Remélem, hogy ez előnyös lesz Önnek és a vállalatának is.

Innentől kezdve a lehetőségek végtelenek.

  1. Tervezhet ütemezett feladatokat éjszakai építések létrehozásához.
  2. A feltöltés közvetlenül az App Store-ba épül.
  3. Gyorstárolja az építkezéseket, így az azonos konfigurációjú buildeket nem generálják újra.
  4. Az IPA terjesztése házon belül OTA (Over the air) telepítéshez.
  5. Készítsen egy CI-CD folyamatot, hogy minden tesztnél futtasson automatizált teszteket, és készen álljon a gyártásra.