Android Builds mit Gradle automatisieren
Android ist eine große Plattform und die Entwicklung erfolgt dankenswerterweise in einer recht beliebten Sprache (Java oder alternativ in Kotlin). Doch neben dem eigentlichen entwickeln müssen die Apps auch gebaut werden. Dafür haben wir Gradle, welches für kleine Projekte von Haus aus gut eingerichtet ist, aber bei komplexen Projekten sollte man sich in diesem Bereich tiefer einarbeiten. Denn auch wenn der Einstieg mitunter verwirrend ist, vor allem was den Scope von Variablen und die Verfügbarkeit von Tasks oder ähnlichem angeht, so lohnt sich die Investition von Zeit hier wirklich. Dabei gibt es Dinge die man einfach lernen muss, wie z.B. die verschiedenen Kontexte (z.B. signingConfigs, buildTypes, flavors und den durchaus hilfreichen afterEvaluate). Weiter geht es dann mit eigenen Tasks, welche auf Variablen arbeiten können und durch doLast unabhängig vom restlichen Projekt Dinge, wie z.B. das Deployment übernehmen können. In diesem Kontext ist vor allem die commandLine Funktion interessant, da diese mit dem CI direkt interagieren kann. Hier kann man eine komplette Kette mit z.B. SSH Setup -> Git Clone -> Build -> Signing -> Deploy via Curl aufbauen, sofern man etwas Erfahrung mitbringt. Sehr spannend und gut für die Übersicht ist die Möglichkeit Funktionen zu nutzen und diese mittels apply from: in andere Dateien auszulagern. Ich kann nur ein weiteres Mal empfehlen, vor allem für größere Projekte, hier einen Einstieg zu wagen. Ich habe in den Related Links ein paar Ressourcen zum Thema hinterlegt und falls ihr Fragen oder Anregungen habt, meldet euch gerne in den Kommentaren.