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
- Trinn 2: Installer Android SDK
- Vær En Superhelt
- Trinn 3: Konfigurer Jenkins
- Trinn 4: Opprette En Android Jobb
- Trinn 5: Laste Ned Koden Din Til Jenkins
- Trinn 6: Konfigurere Jenkins Build Triggers
- Trinn 7: Bygg
- Begynn Å Fikse Bugs Raskere Nå Gratis
- Accelerate Gradle (valgfritt)
- Running Unit Tests
- Kjører Integrasjonstester
- Neste Trinn
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