Ú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
- 2. lépés: Telepítse Android SDK
- légy szuperhős
- 3. lépés: A Jenkins
- Lépés 4: hozzon létre egy Android munkát
- 5. lépés: a kód letöltése Jenkins
- 6. lépés: a Jenkins Build triggerek konfigurálása
- 7. lépés: Építsd
- indítsa el a hibák gyorsabb javítását most ingyen
- gyorsítsa fel a Gradle-t (opcionális)
- Unit tesztek futtatása
- integrációs tesztek futtatása
- következő lépések
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