nou: tocmai am lansat un nou ebook: Jenkins Starter Guide, care conține toate informațiile din această serie de patru posturi și mai mult. Cap de pe la pagina noastră de resurse pentru a descărca.
în cazul în care ați ratat primele noastre postări din această serie sau dacă nu sunteți sigur ce este Jenkins sau CI, întoarceți-vă și citiți: Ce este Jenkins și de ce ar trebui să-l utilizați?
acesta este un ghid pas cu pas pentru modul de configurare Jenkins pentru a construi și testa aplicații Android. În acest demo vom folosi un exemplu de aplicație folosind Bugfender SDK în Android. Veți dori, evident, utilizați propria aplicație Android construit sau bibliotecă. Pașii pentru adăugarea propriului proiect Android la Jenkins vor fi aceiași.
construirea aplicațiilor iOS? Fii atent la următorul articol din această serie în curând.
în primul rând, va trebui să pregătiți mașina pentru a compila și rula aplicații Android. Dacă nu ați instalat deja Jenkins, puteți urma pașii din postarea anterioară pentru a instala Jenkins pe serverul dvs.
- Configurarea Android App construiește în Jenkins
- Pasul 1: instalați Java JDK
- Pasul 2: instalați Android SDK
- fii un super-erou
- Pasul 3: Configurați Jenkins
- Pasul 4: Creați un job Android
- Pasul 5: descărcarea codului dvs. în Jenkins
- Pasul 6: Configurarea Jenkins build Triggers
- Pasul 7: construiți
- începe fixarea bug-uri mai repede acum gratuit
- accelerați Gradle (opțional)
- rularea testelor unitare
- rularea testelor de integrare
- pașii următori
Configurarea Android App construiește în Jenkins
Pasul 1: instalați Java JDK
sudo apt-get install java-8-openjdk
Pasul 2: instalați Android SDK
du-te la https://developer.android.com/studio/index.html#downloads, și apuca link-ul enumerate în tabel pentru a obține doar instrumentele de linie de comandă > Linux. Nu descărcați nimic, doar copiați linkul.
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
fii un super-erou
Fend off bug-uri și să păstreze utilizatorii în siguranță.
utilizați Bugfender gratuit astăzi
Pasul 3: Configurați Jenkins
apoi, conectați-vă la Jenkins și configurați SDK-ul Android pe care tocmai l-ați instalat:
deschideți https://your-ci-server-name.com
în browserul dvs. Veți vedea ceva de genul asta:
- du-te pentru a gestiona Jenkins > sistem de configurare
- verificați „variabile de mediu”
- Adauga Nume: ANDROID_HOME
- adauga valoare: / var / lib / jenkins / android-sdk
- Faceți clic pe „Apply” apoi „Save”
Pasul 4: Creați un job Android
acum reveniți la pagina de pornire. Faceți clic pe element nou. Introduceți numele proiectului și selectați ” proiect Freestyle.”
Pasul 5: descărcarea codului dvs. în Jenkins
în continuare, trebuie să adăugați un link la depozitul dvs., astfel încât Jenkins să vă poată descărca codul. Specificați adresa URL Git a depozitului dvs. în secțiunea Gestionare cod sursă. După cum am menționat, vom folosi acest depozit de eșantioane: https://github.com/bugfender/BugfenderSDK-android-sample.git.
dacă aveți un depozit Mercurial sau Subversion, acestea funcționează exact în același mod. Dacă aveți un depozit privat, puteți crea, de asemenea, chei SSH pentru a accesa depozitul dvs. cu protocolul git.
Pasul 6: Configurarea Jenkins build Triggers
de asemenea, puteți specifica build Triggers care vor construi proiectul automat pentru dvs. Cel mai bine este să folosiți un cârlig pentru a declanșa automat compilările atunci când cineva împinge codul în depozit.
pentru BitBucket, Gitlab și majoritatea furnizorilor Git, puteți utiliza opțiunea „Trigger builds remotely”. Aceasta va oferi o adresă URL pe care o puteți configura ca un webhook în furnizorul dvs. pentru a porni automat o construcție.
pentru utilizatorii GitHub, cel mai ușor este să găsiți și să instalați „pluginul GitHub” (în gestionați Jenkins > gestionați pluginurile) și va apărea o opțiune specifică GitHub. Aceasta va instala webhook-ul pentru dvs.
Pasul 7: construiți
odată ce aveți codul sursă în Jenkins, este timpul să construiți. Dacă proiectul dvs. are un înveliș Gradle, asta ar trebui să utilizați. În cazul nostru, vom crea un pas de construire a scriptului Invoke Gradle ca acesta:
dacă aveți un proiect bazat pe Ant, există, de asemenea, un pas invoke Ant build sau pentru flexibilitate maximă puteți utiliza pasul Execute shell build.
Testați-vă construirea apăsând „Salvați”
și asta este. Primul dvs. proiect Android a fost adăugat la Jenkins. Acum poate doriți să ia în considerare accelerarea Gradle și înființarea de testare automată în Jenkins.
începe fixarea bug-uri mai repede acum gratuit
Bugfender este cel mai bun logger la distanță pentru aplicații mobile.
Inscrie-te
accelerați Gradle (opțional)
dacă rulați versiuni bazate pe Gradle, puteți economisi ceva timp de construire rulând Gradle ca daemon. Pentru a-l rula, faceți următoarele:
mkdir -p /var/lib/jenkins/.gradleecho org.gradle.daemon=true | sudo -iu jenkins tee -a /var/lib/jenkins/.gradle/gradle.properties
rularea testelor unitare
dacă doriți să rulați teste unitare, puteți face acest lucru adăugând un alt pas de construire cu sarcina test Gradle, astfel:
rularea testelor de integrare
pentru a configura teste UI, va trebui să rulați un emulator. Chiar dacă Jenkins are un Plugin pentru Emulator Android, am constatat că acesta nu a fost actualizat și nu mai funcționează cu cele mai recente versiuni ale SDK-ului Android. Iată soluția noastră sugerată:
Pasul 1: Descărcați emulatorul. Pentru a lista SDK-urile disponibile, executați:
sudo -iu jenkins android-sdk/tools/bin/sdkmanager --list --verbose
notă rapidă privind selectarea imaginii potrivite pentru dvs.: imaginile bazate pe x86 rulează mai repede, dar au nevoie și de accelerare hardware. Este posibil să trebuiască să activați accelerarea KVM (sudo modprobe kvm) în serverul dvs. și serverul dvs. nu poate fi o mașină virtuală. Din acest motiv, alegem o imagine ARM, care rulează mai lent, dar funcționează.
Pasul 2: În cazul nostru, căutăm să rulăm aplicația noastră pe Android SDK level 25, deci imagini de sistem; android-25; google_apis; armeabi-v7a pare potrivit, apoi îl instalăm în acest fel:
sudo -iu jenkins android-sdk/tools/bin/sdkmanager 'system-images;android-25;google_apis;armeabi-v7a'
Pasul 3: Odată instalat, creăm un dispozitiv Virtual Android (o instanță emulator) cu acesta:
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
Pasul 4: apoi folosim Supervisord pentru a rula emulatorul Android ca serviciu de sistem, întotdeauna în fundal. Pentru a-l instala:
sudo apt-get install supervisor
apoi, creați un fișier de configurare în /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
Pasul 5: După ce se face acest lucru, reporniți supervisord pentru a aplica modificările:
sudo service supervisor restart
emulatorul ar trebui să înceapă în fundal. Ar putea dura 1-2 minute. Veți vedea că dispozitivul emulator apare în lista Dispozitive când este gata:
sudo -iu jenkins android-sdk/platform-tools/adb devices
Pasul 6: în lucrarea Jenkins, adăugați un pas de construire a shell-ului de execuție ca acesta:
Cod:
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
pașii următori
există mai multe opțiuni, cum ar fi rularea unui emulator Android, instalarea aplicației și rularea diferitelor teste pe acesta.
în plus, există unele plugin-uri foarte interesante pe care le puteți juca cu:
- Android Emulator Plugin — în acest moment, acest plugin nu este de lucru în mod corespunzător cu cele mai recente Android SDK. Dar cea mai bună presupunere a noastră este că o vor repara și va funcționa din nou în curând. Ca alternativă, puteți utiliza o versiune SDK mai veche.
- Android semnarea Plugin
- Google Play Android Editor Plugin
pentru mai multe posturi în această serie, a verifica afară:
- ce este Jenkins și de ce ar trebui să-l utilizați?
- cum se instalează Jenkins în Ubuntu
- cum se adaugă primul loc de muncă iOS la Jenkins