Hogyan adjuk hozzá az első Android Job Jenkins

Új: már most megjelent egy új ebook: the Jenkins Starter Guide, amely tartalmazza az összes információt ebben a sorozatban négy hozzászólás és így tovább. A letöltéshez lépjen tovább az erőforrások oldalra.

abban az esetben, ha lemaradtál az első pár bejegyzésünkről ebben a sorozatban, vagy ha nem vagy biztos benne, hogy mi a Jenkins vagy a CI, menj vissza és olvasd el: mi a Jenkins és miért kellene használnod?

ez egy lépésről-lépésre útmutató, hogyan kell beállítani Jenkins építeni és tesztelni Android apps. Ebben a demo fogjuk használni egy példa alkalmazás segítségével Bugfender SDK Android. Akkor nyilvánvalóan szeretné használni a saját beépített Android alkalmazás vagy könyvtár. A saját Android-projekt jenkinshez történő hozzáadásának lépései ugyanazok lesznek.

iOS alkalmazások készítése? Tartsa szemmel a sorozat következő cikkét, amely hamarosan megjelenik.

először elő kell készítenie a gépet az Android Alkalmazások fordítására és futtatására. Ha még nem telepítette a Jenkins-t, kövesse az előző bejegyzés lépéseit a Jenkins szerverre történő telepítéséhez.

konfigurálása Android App épít Jenkins

1.lépés: Telepítse Java JDK

sudo apt-get install java-8-openjdk

2. lépés: Telepítse Android SDK

menj https://developer.android.com/studio/index.html#downloads, és fogd meg a link szerepel a táblázatban, hogy csak a parancssori eszközök > Linux. Ne töltsön le semmit, csak másolja a linket.

sudo apt-get install unzip# here you paste the link you grabbed in the developer.android.com sitesudo -iu jenkins wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zipsudo -iu jenkins mkdir android-sdksudo -iu jenkins unzip sdk-tools-linux-3859397.zip -d android-sdk# this step is important to accept the Android SDK licenseyes |sudo -iu jenkins android-sdk/tools/bin/sdkmanager --licenses

légy szuperhős

elhárítani a hibákat, és tartsa a felhasználók biztonságos.

használja Bugfender ingyen ma

3. lépés: A Jenkins

konfigurálása ezután jelentkezzen be a Jenkinsbe, és konfigurálja az éppen telepített Android SDK-T:

nyissa meg a https://your-ci-server-name.com böngészőt. Valami ilyesmit fogsz látni:

  • ugrás a Jenkins kezelése > rendszer konfigurálása
  • ellenőrizze a “környezeti változókat”
  • Név hozzáadása: ANDROID_HOME
  • érték hozzáadása: /var / lib / jenkins / android-sdk
  • kattintson az “Alkalmaz”, majd a “Mentés ” gombra”

Lépés 4: hozzon létre egy Android munkát

most menj vissza a kezdőlapra. Kattintson új elem. Írja be a projekt nevét, majd válassza a ” Freestyle projekt.”

5. lépés: a kód letöltése Jenkins

ezután hozzá kell adnia egy linket az adattárhoz, hogy Jenkins letölthesse a kódot. Adja meg az adattár GIT URL-jét a forráskód-kezelés szakaszban. Mint említettük, ezt a mintatárolót fogjuk használni: https://github.com/bugfender/BugfenderSDK-android-sample.git.

ha van egy Mercurial vagy Subversion tárolója, akkor pontosan ugyanúgy működnek. Ha van Privát tárolója, akkor SSH kulcsokat is létrehozhat, hogy hozzáférjen a tárolóhoz a git protokollal.

6. lépés: a Jenkins Build triggerek konfigurálása

megadhatja a Build triggereket is, amelyek automatikusan felépítik a projektet az Ön számára. A legjobb, ha horgot használunk annak érdekében, hogy automatikusan elindítsuk a buildeket, amikor valaki kódot tol az adattárba.

a BitBucket, Gitlab és a legtöbb Git szolgáltatók, akkor használja a” Trigger épít távolról ” opciót. Ez egy URL-t ad, amelyet webhookként konfigurálhat a szolgáltatóban, hogy automatikusan elindítsa a buildet.

a GitHub felhasználók számára a legegyszerűbb megtalálni és telepíteni a “GitHub plugint” (a Jenkins kezelése > pluginek kezelése), és megjelenik egy GitHub-specifikus opció. Ez telepíti a webhookot az Ön számára.

7. lépés: Építsd

Miután megvan a forráskód Jenkinsben, itt az ideje építeni. Ha a projektnek van Gradle burkolója, akkor ezt kell használnia. A mi esetünkben, létrehozunk egy invoke Gradle script build lépést, mint ez:

ha van Ant-alapú projektje, van egy Invoke Ant build lépés is, vagy a maximális rugalmasság érdekében használhatja az Execute shell build lépést.

tesztelje a build megnyomásával “Mentés”

és ennyi. Az első Android projekt került Jenkins. Most érdemes megfontolni a Gradle felgyorsítását és az automatizált tesztelés beállítását Jenkins-ben.

indítsa el a hibák gyorsabb javítását most ingyen

a Bugfender a legjobb távoli naplózó a mobilalkalmazásokhoz.

regisztráció

gyorsítsa fel a Gradle-t (opcionális)

ha Gradle alapú buildeket futtat, a gradle démonként történő futtatásával időt takaríthat meg. Annak érdekében, hogy futtassa, tegye a következőket:

mkdir -p /var/lib/jenkins/.gradleecho org.gradle.daemon=true | sudo -iu jenkins tee -a /var/lib/jenkins/.gradle/gradle.properties

Unit tesztek futtatása

ha unit teszteket szeretne futtatni, akkor ezt úgy teheti meg, hogy hozzáad egy másik build lépést a test Gradle feladathoz, például:

integrációs tesztek futtatása

az UI tesztek beállításához emulátort kell futtatnia. Annak ellenére, hogy a Jenkins rendelkezik Android emulátor bővítménnyel, azt találtuk, hogy nem frissült, és már nem működik az Android SDK legújabb verzióival. Itt van a javasolt megoldás:

1. lépés: Töltse le az emulátort. A rendelkezésre álló SDK-k felsorolásához futtassa:

sudo -iu jenkins android-sdk/tools/bin/sdkmanager --list --verbose

gyors megjegyzés a megfelelő kép kiválasztásához: az x86 alapú képek gyorsabban futnak, de hardveres gyorsítást is igényelnek. Előfordulhat, hogy engedélyeznie kell a KVM gyorsítást (sudo modprobe kvm) a szerveren, és a szerver nem lehet virtuális gép. Ezért választunk egy ARM képet, amely lassabban fut, de működik.

2. lépés: esetünkben az alkalmazásunkat az Android SDK 25. szintjén szeretnénk futtatni, így a rendszerképek;android-25;google_apis; armeabi-v7a megfelelőnek tűnik, akkor így telepítjük:

sudo -iu jenkins android-sdk/tools/bin/sdkmanager 'system-images;android-25;google_apis;armeabi-v7a'

3. lépés: a telepítés után létrehozunk egy Android virtuális eszközt (emulátor példányt) vele:

echo no | $ANDROID_SDK_ROOT/tools/bin/avdmanager -v create avd --force --package 'system-images;android-25;google_apis;armeabi-v7a' --name Android25 --tag google_apis --abi armeabi-v7a

Lépés 4: Ezután a Supervisord segítségével futtatjuk az Android emulátort rendszerszolgáltatásként, mindig a háttérben. Annak érdekében, hogy telepítse:

sudo apt-get install supervisor

ezután hozzon létre egy konfigurációs fájlt /etc/supervisor/conf.d/emulator.conf :

command=/var/lib/jenkins/android-sdk/emulator/emulator -avd Android25 -no-window -noaudio -no-boot-anim -accel on -ports 5556,5557autostart=trueuser=jenkinsenvironment=ANDROID_SDK_ROOT=/var/lib/jenkins/android-sdk

5. lépés: ha ez megtörtént, indítsa újra a supervisordot a módosítások alkalmazásához:

sudo service supervisor restart

az emulátornak a háttérben kell kezdődnie. Ez 1-2 percet vehet igénybe. Látni fogja, hogy az emulátor eszköz megjelenik az eszközök listájában, amikor készen áll:

sudo -iu jenkins android-sdk/platform-tools/adb devices

6. lépés: a Jenkins job, add Execute shell épít lépés, mint ez:

Kód:

ANDROID_SERIAL=emulator-5556# wait for emulator to be up and fully booted, unlock screen$ANDROID_HOME/platform-tools/adb wait-for-device shell 'while ]; do sleep 1; done; input keyevent 82'./gradlew connectedAndroidTest

következő lépések

több lehetőség van, mint például egy Android emulátor futtatása, az alkalmazás telepítése és különböző tesztek futtatása.

ezen kívül van néhány igazán érdekes plugin, amit játszani:

  • Android Emulator Plugin-jelenleg ez a plugin nem működik megfelelően a legújabb Android SDK-val. De a legjobb tippünk az, hogy megjavítják, és hamarosan újra működni fog. Alternatív megoldásként használhat egy régebbi SDK verziót.
  • Android aláírás Plugin
  • Google Play Android Publisher Plugin

további Hozzászólások ebben a sorozatban, nézd meg:

  • mi az a Jenkins és miért kellene használni?
  • hogyan kell telepíteni Jenkins Ubuntu
  • hogyan kell hozzáadni az első iOS munkát Jenkins

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.