jak přidat svůj první Android práci Jenkins

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

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.