Novinka: Právě jsme vydali nový ebook: Jenkins Starter Guide, který obsahuje všechny informace v této sérii čtyř příspěvků a více. Přejděte na stránku zdroje a stáhněte si ji.
v případě, že jste zmeškali našich prvních pár příspěvků v této sérii, nebo pokud si nejste jisti, co je Jenkins nebo CI, vraťte se a přečtěte si: co je Jenkins a proč byste ho měli používat?
Toto je podrobný průvodce, Jak nastavit Jenkins pro vytváření a testování aplikací pro Android. V tomto demu použijeme ukázkovou aplikaci pomocí sady Bugfender SDK v systému Android. Budete samozřejmě chtít použít vlastní postavenou aplikaci nebo knihovnu pro Android. Kroky pro přidání vlastního projektu Android do Jenkins budou stejné.
vytváření aplikací pro iOS? Dávejte pozor na další článek v této sérii již brzy.
nejprve je třeba připravit stroj na kompilaci a spouštění aplikací pro Android. Pokud jste ještě nenainstalovali Jenkins, můžete nainstalovat Jenkins na server podle kroků v předchozím příspěvku.
- konfigurace aplikace pro Android staví v Jenkins
- Krok 1: Instalace Java JDK
- Krok 2: Instalace sady Android SDK
- být superhrdina
- Krok 3: Nakonfigurujte Jenkins
- Krok 4: Vytvořte úlohu Android
- Krok 5: stažení kódu do Jenkins
- Krok 6: Konfigurace spouštěčů sestavení Jenkins
- Krok 7: sestavení
- začněte opravovat chyby rychleji nyní zdarma
- Zrychlete Gradle (volitelné)
- spuštění testů jednotek
- spuštění integračních testů
- další kroky
konfigurace aplikace pro Android staví v Jenkins
Krok 1: Instalace Java JDK
sudo apt-get install java-8-openjdk
Krok 2: Instalace sady Android SDK
přejděte na https://developer.android.com/studio/index.html#downloads a uchopte odkaz uvedený v tabulce a získejte pouze nástroje příkazového řádku > Linux. Nic nestahujte, stačí zkopírovat odkaz.
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
být superhrdina
odrazit chyby a udržet své uživatele v bezpečí.
použijte Bugfender zdarma ještě dnes
Krok 3: Nakonfigurujte Jenkins
poté se přihlaste do Jenkins a nakonfigurujte Android SDK, který jste právě nainstalovali:
otevřete https://your-ci-server-name.com
v prohlížeči. Uvidíte něco takového:
- přejít na Spravovat Jenkins > konfigurovat systém
- zkontrolujte „proměnné prostředí“
- přidat název: ANDROID_HOME
- přidat hodnotu:/var/lib/Jenkins / android-sdk
- klikněte na „Použít“ a poté na „Uložit“
Krok 4: Vytvořte úlohu Android
nyní se vraťte na domovskou stránku. Klikněte na novou položku. Zadejte název projektu a vyberte “ Freestyle project.“
Krok 5: stažení kódu do Jenkins
Dále musíte přidat odkaz do úložiště, aby si Jenkins mohl stáhnout váš kód. Zadejte adresu URL Git vašeho úložiště v části Správa zdrojového kódu. Jak již bylo zmíněno, použijeme toto ukázkové úložiště: https://github.com/bugfender/BugfenderSDK-android-sample.git.
pokud máte úložiště Mercurial nebo Subversion, fungují přesně stejným způsobem. Pokud máte soukromé úložiště, můžete také vytvořit SSH klíče pro přístup k úložišti pomocí protokolu git.
Krok 6: Konfigurace spouštěčů sestavení Jenkins
můžete také určit spouštěče sestavení, které pro vás automaticky vytvoří projekt. Nejlepší je použít háček, aby se automaticky spouštěly sestavení, když někdo tlačí kód do úložiště.
pro BitBucket, Gitlab a většinu poskytovatelů Git můžete použít možnost“ Trigger builds vzdáleně“. Tím získáte adresu URL, kterou můžete nakonfigurovat jako webhook u svého poskytovatele, aby se automaticky spustilo sestavení.
pro uživatele GitHubu je nejjednodušší najít a nainstalovat „plugin GitHub“ (v Správa Jenkins > Správa pluginů) a objeví se specifická volba GitHub. Tím se nainstaluje webhook pro vás.
Krok 7: sestavení
jakmile máte zdrojový kód v Jenkins, je čas stavět. Pokud má váš projekt Gradle wrapper, měli byste to použít. V našem případě vytvoříme krok sestavení skriptu Invoke Gradle, jako je tento:
pokud máte projekt založený na Ant, existuje také Invoke Ant build step nebo pro maximální flexibilitu můžete použít krok Execute Shell build.
Otestujte sestavení stisknutím tlačítka „Uložit“
a to je vše. Váš první projekt Android byl přidán do Jenkins. Nyní možná budete chtít zvážit zrychlení Gradle a nastavení automatizovaného testování v Jenkins.
začněte opravovat chyby rychleji nyní zdarma
Bugfender je nejlepší vzdálený záznamník pro mobilní aplikace.
Přihlásit se
Zrychlete Gradle (volitelné)
pokud používáte sestavení založené na Gradle, můžete ušetřit nějaký čas sestavení spuštěním Gradle jako démona. Chcete-li jej spustit, proveďte následující:
mkdir -p /var/lib/jenkins/.gradleecho org.gradle.daemon=true | sudo -iu jenkins tee -a /var/lib/jenkins/.gradle/gradle.properties
spuštění testů jednotek
pokud chcete spustit testy jednotek, můžete tak učinit přidáním dalšího kroku sestavení pomocí úlohy test Gradle, jako je tento:
spuštění integračních testů
Chcete-li nastavit testy uživatelského rozhraní, budete muset spustit emulátor. Přestože Jenkins má Plugin Android Emulator, zjistili jsme, že nebyl aktualizován a již nepracuje s nejnovějšími verzemi sady Android SDK. Zde je naše navrhované řešení:
Krok 1: Stáhněte si emulátor. Chcete-li uvést dostupné sady SDK, spusťte:
sudo -iu jenkins android-sdk/tools/bin/sdkmanager --list --verbose
Rychlá poznámka k výběru správného obrázku pro vás: obrázky založené na x86 běží rychleji, ale také vyžadují hardwarovou akceleraci. Možná budete muset povolit KVM akceleraci (sudo modprobe kvm) na vašem serveru a váš server nemůže být virtuální stroj. Z tohoto důvodu volíme obrázek paže, který běží pomaleji, ale funguje.
Krok 2: v našem případě se snažíme spustit naši aplikaci na úrovni Android SDK 25, takže system-images; android-25;google_apis; armeabi-v7a se zdá být vhodný, pak jej nainstalujeme tímto způsobem:
sudo -iu jenkins android-sdk/tools/bin/sdkmanager 'system-images;android-25;google_apis;armeabi-v7a'
Krok 3: Po instalaci vytvoříme s ním virtuální zařízení Android (instance emulátoru:
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
Krok 4: poté použijeme Supervisord ke spuštění emulátoru Android jako systémové služby, vždy na pozadí. Aby bylo možné jej nainstalovat:
sudo apt-get install supervisor
poté vytvořte konfigurační soubor v /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
Krok 5: Po dokončení restartujte supervisord a proveďte změny:
sudo service supervisor restart
emulátor by měl začít na pozadí. Může to trvat 1-2 minuty. Uvidíte emulátor zařízení se objeví v seznamu zařízení, když je připraven:
sudo -iu jenkins android-sdk/platform-tools/adb devices
Krok 6: v úloze Jenkins přidejte krok Execute Shell build, jako je tento:
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
další kroky
existuje více možností, jako je spuštění emulátoru Android, instalace aplikace a spuštění různých testů.
kromě toho existují některé opravdu zajímavé pluginy, se kterými můžete hrát:
- Android Emulator Plugin-v současné době tento plugin není správně pracuje s nejnovější Android SDK. Ale náš nejlepší odhad je, že to opraví a brzy to bude fungovat. Jako alternativu můžete použít starší verzi SDK.
- Android podepisovací Plugin
- Google Play Android Publisher Plugin
pro více příspěvků v této sérii se podívejte:
- co je Jenkins a proč byste jej měli používat?
- Jak nainstalovat Jenkins v Ubuntu
- jak přidat svou první úlohu iOS do Jenkins