How To Add your First Android Job to Jenkins

Nyhet: Vi har nettopp gitt ut en ny ebok: The Jenkins Starter Guide, som inneholder all informasjonen i denne serien av fire innlegg og mer. Gå videre til Vår Ressursside for å laste ned.

hvis du savnet våre første par innlegg i denne serien, eller hvis du ikke er sikker på hva Jenkins eller CI er, gå tilbake og les: Hva Er Jenkins og Hvorfor Skal Du Bruke Det?

Dette er en trinnvis veiledning for hvordan Du setter Opp Jenkins for å bygge Og teste Android-apper. I denne demoen vil vi bruke et eksempel program som bruker Bugfender SDK I Android. Du vil åpenbart vil bruke din egen bygget Android applikasjon eller bibliotek. Trinnene for å legge Til Ditt Eget Android-prosjekt Til Jenkins vil være det samme.

Bygge iOS-apper? Hold et øye for neste artikkel i denne serien kommer snart.

Først må du forberede maskinen til å kompilere Og kjøre Android-applikasjoner. Hvis Du ikke allerede har installert Jenkins, kan du følge trinnene i forrige innlegg for å installere Jenkins på serveren din.

Konfigurere Android App Bygger I Jenkins

Trinn 1: Installer Java JDK

sudo apt-get install java-8-openjdk

Trinn 2: Installer Android SDK

Gå til https://developer.android.com/studio/index.html#downloads, og ta tak i lenken som er oppført i tabellen For Å Få bare kommandolinjeverktøyene > Linux. Ikke last ned noe, bare kopier lenken.

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

Vær En Superhelt

Avverge bugs og holde brukerne trygge.

Bruk Bugfender Gratis I Dag

Trinn 3: Konfigurer Jenkins

logg deretter På Jenkins og konfigurer Android SDK som du nettopp installerte:

Åpne https://your-ci-server-name.com i nettleseren din. Du vil se noe som dette:

  • Gå Til Administrer Jenkins > Konfigurer System
  • Sjekk «Miljøvariabler»
  • Legg Til Navn: ANDROID_HOME
  • Legg Til Verdi: /var/lib/jenkins/android-sdk
  • Klikk På «Bruk» deretter «Lagre»

Trinn 4: Opprette En Android Jobb

nå gå tilbake til hjemmesiden. Klikk På Nytt Element. Skriv inn prosjektnavnet ditt og velg » Freestyle project.»

Trinn 5: Laste Ned Koden Din Til Jenkins

Deretter må du legge til en lenke til depotet ditt slik At Jenkins kan laste ned koden din. Angi Git-NETTADRESSEN til depotet ditt i Kildekodehåndtering-delen. Som nevnt, skal vi bruke dette prøvelageret: https://github.com/bugfender/BugfenderSDK-android-sample.git.

hvis Du har Et Mercurial-eller Subversiondepot, fungerer de på nøyaktig samme måte. Hvis du har et privat depot, kan du også opprette SSH-nøkler for å få tilgang til depotet ditt med git-protokollen.

Trinn 6: Konfigurere Jenkins Build Triggers

Du kan også angi Build Triggers som vil bygge prosjektet automatisk for deg. Det er best å bruke en krok for å utløse bygger automatisk når noen skyver kode til depotet.

For BitBucket, Gitlab og de fleste Git-leverandører kan du bruke alternativet» Trigger builds remotely». Dette vil gi EN URL som du kan konfigurere som en webhook i leverandøren din for å starte en bygge automatisk.

For GitHub-brukere er det enkleste å finne og installere «GitHub plugin» (I Manage Jenkins > Manage Plugins) og Et GitHub – spesifikt alternativ vil vises. Dette vil installere webhook for deg.

Trinn 7: Bygg

når du har kildekoden I Jenkins, er det på tide å bygge. Hvis prosjektet ditt har En Gradle wrapper, er det det du bør bruke. I vårt tilfelle vil vi lage Et Invoke Gradle script bygge trinn som dette:

hvis du har Et Ant-basert prosjekt, er det også Et Invoke Ant build-trinn eller for maksimal fleksibilitet kan du bruke Execute shell build-trinnet.

Test din bygge ved å trykke»Lagre»

Og det er det. Din første Android prosjektet har blitt lagt Til Jenkins. Nå vil du kanskje vurdere å akselerere Gradle og sette opp automatisert testing I Jenkins.

Begynn Å Fikse Bugs Raskere Nå Gratis

Bugfender er den beste eksterne logger for mobile apps.

Registrer Deg

Accelerate Gradle (valgfritt)

hvis du kjører bygger basert På Gradle, kan du spare litt byggetid ved å kjøre Gradle som daemon. For å få det til å løpe, gjør du følgende:

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

Running Unit Tests

Hvis Du vil kjøre enhetstester, kan du gjøre det ved å legge til et annet byggetrinn med testgradle-oppgaven, slik:

Kjører Integrasjonstester

for å sette OPP UI-tester må du kjøre en emulator. Selv Om Jenkins har En Android Emulator Plugin, har vi funnet ut at den ikke har blitt oppdatert og ikke lenger jobber med de nyeste versjonene Av Android SDK. Her er vår foreslåtte løsning:

Trinn 1: Last ned emulatoren. For å liste De Tilgjengelige Sdk-ene, kjør:

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

Rask merknad om å velge riktig bilde for deg: x86-baserte bilder kjører raskere, men trenger også maskinvareakselerasjon. DU må kanskje aktivere KVM acceleration (sudo modprobe kvm) på serveren din, og serveren din kan ikke være en virtuell maskin. Av denne grunn velger vi ET ARMBILDE, som går langsommere, men fungerer.

Trinn 2: I vårt tilfelle ønsker vi å kjøre programmet vårt På Android SDK nivå 25, så systembilder; android-25; google_apis; armeabi-v7a virker egnet, så installerer vi det på denne måten:

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

Trinn 3: en gang installert, vi opprette En Android Virtuell Enhet (en emulator eksempel) med det:

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

Trinn 4: da bruker Vi Supervisord å kjøre Android emulator som en systemtjeneste, alltid i bakgrunnen. For å installere det:

sudo apt-get install supervisor

deretter oppretter du en konfigurasjonsfil i /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

Trinn 5: når dette er gjort, start supervisord på nytt for å bruke endringene:

sudo service supervisor restart

emulatoren skal starte i bakgrunnen. Det kan ta 1-2 minutter. Du vil se emulatorenheten vises i listen enheter når den er klar:

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

Trinn 6: i jenkins-jobben legger du til Et Utfør shell – byggetrinn som dette:

Koden:

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

Neste Trinn

Det er flere alternativer som å kjøre En Android-emulator, installere programmet og kjøre ulike tester på den.

i tillegg er det noen virkelig interessante plugins som du kan spille med:

  • Android Emulator Plugin-for øyeblikket er denne plugin ikke fungerer riktig med nyeste Android SDK. Men vårt beste gjetning er at de vil fikse det, og det vil fungere igjen snart. Som et alternativ kan du bruke en eldre SDK-versjon.
  • Android Signering Plugin
  • Google Spille Android Utgiver Plugin

for flere innlegg i denne serien, sjekk ut:

  • Hva Er Jenkins Og Hvorfor Skal Du Bruke Det?
  • Slik Installerer Du Jenkins I Ubuntu
  • Slik Legger Du til din første iOS-Jobb Til Jenkins

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.