IT-Berufe-Podcast

Einführung in Build-Werkzeuge – Anwendungsentwickler-Podcast #97


Listen Later

Um Werkzeuge, die dem Entwickler beim Bauen seiner Software viel Arbeit abnehmen, geht es in der siebenundneunzigsten Episode des Anwendungsentwickler-Podcasts.
Inhalt
Die Episode ist wie meine Einführung in die Versionsverwaltung mit Git in mehrere Fragen aufgeteilt. Los geht es mit allgemeinen Fragen zu Build-Werkzeugen. Dann folgen Fragen zum Einsatz im eigenen Unternehmen. Und zuletzt gehen auf die Details von Gradle ein.
Allgemein
Die folgenden Fragen sind unabhängig vom konkreten Build-Werkzeug.
Was ist ein Build?
Der Vorgang, der alle Aktionen umfasst, die zum Erstellen einer lauffähigen und deploybaren Software aus Basisartefakten wie Sourcecode nötig sind.
Was macht ein Build-Werkzeug?
Mit einem Build-Werkzeug können alle notwendigen Build-Schritte automatisiert werden.
Was sind die Vorteile eines Build-Werkzeugs?
Die Software kann automatisiert und damit schneller und verlässlicher gebaut werden.
Kopfmonopole werden abgebaut.
"Works on my machine" wird verhindert.
Ein automatischer Build ist die Grundlage für Continuous Integration/Delivery/Deployment.
Was ist ein Build-Script?
In einem Build-Script werden die notwendigen Build-Schritte definiert. Es wird vom Build-Werkzeug wie Programmcode ausgeführt.
Warum sollten Build-Scripts versioniert werden?
Letztlich sind die Build-Scripts ausführbarer "Code", der ganz normal mit versioniert werden sollte. Allein, um Änderungen am Build mit Änderungen im Code zu synchronisieren und später auch noch frühere Builds nachstellen zu können.
Welche Aktionen kann ein Build-Werkzeug bei einem Build durchführen?
Abhängigkeiten auflösen (z.B. fremde JARs oder DLLs einbinden)
Kompilieren des Codes
Testen (mit Analyse der Code Coverage)
Statische Code-Analyse durchführen (z.B. Code-Style, bestimmte Bugs)
Paketieren der Anwendung (z.B. als JAR, DLL)
Snapshots der Software erzeugen und in ein Artefakt-Repository einstellen
Deployment der Anwendung auf ein Zielsystem
Maschinenunabhängig Projekte für die jeweilige IDE erstellen
Minification von Artefakten (z.B. CSS und JavaScript)
Obfuscation zum Schutz des Quellcodes
Technische Dokumentation der Software erzeugen
Alles, was man sonst noch so manuell tun müsste
Wie hängt das Build-Werkzeug mit Continuous Integration zusammen?
Ohne automatischen Build ist kein CI möglich!
Welche bekannten Build-Werkzeuge gibt es für Java, .NET, Ruby und C?
Java: Ant, Maven, Gradle
.NET: MSBuild
Ruby: Rake
C: make
Dein Unternehmen
Diese Fragen solltest du dir stellen, wenn du in deinem Unternehmen mit einem Build-Werkzeug arbeiten willst/musst.
Welche konkreten Build-Werkzeuge setzt dein Unternehmen ein?
Was musst du tun, um dieser auf deiner Maschine nutzen zu können?
Welche Konventionen musst du ggfs. einhalten, um sie in deinem Projekt nutzen zu können?
z.B. Ordnerstruktur des Projekts, Benennung der Komponenten.
Wo findest du Vorlagen für eigene Build-Scripts?
Welche Dateien gehören zum Build-Script deines Unternehmens und was sind ihre jeweiligen Aufgaben?
Welche Ordner und Dateien deines Projekts solltest du von der Versionierung ausschließen?
Gradle
Zum Schluss kommen noch ein paar einleitende Fragen zum konkreten Werkzeug Gradle.
Was ist Gradle?
Ein Build-Werkzeug für Java, das inzwischen z.B. der Standard für Android-Projekte ist.
Was sind die Vorteile von Gradle gegenüber Maven und Ant?
Gradle verwendet eine flexible und mächtige DSL für die Build-Scripts und kann sowohl deklarativ, als auch imperativ verwendet werden.
Was ist der Gradle Wrapper?
Eine Möglichkeit, um Gradle in der passenden Version für das aktuelle Build-Script automatisch herunterzuladen und damit den Build durchzuführen.
Mit welchem Befehl startest du einen normalen Build mit Gradle?
gradle build
Mit welchem Befehl räumst du dein Projektverzeichnis mit Gradle auf?
gradle clean
Mit welchem Befehl erzeugst du ein importierbares Eclipse-Projekt mit Gradle?
gradle eclipse
Literaturempfehlungen
...more
View all episodesView all episodes
Download on the App Store

IT-Berufe-PodcastBy Stefan Macke

  • 5
  • 5
  • 5
  • 5
  • 5

5

1 ratings


More shows like IT-Berufe-Podcast

View all
Chaosradio by Chaos Computer Club Berlin

Chaosradio

7 Listeners

Computer und Kommunikation by Deutschlandfunk

Computer und Kommunikation

10 Listeners

IQ - Wissenschaft und Forschung by Bayerischer Rundfunk

IQ - Wissenschaft und Forschung

46 Listeners

ZEIT WISSEN. Woher weißt Du das? by ZEIT ONLINE

ZEIT WISSEN. Woher weißt Du das?

45 Listeners

c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

c’t uplink - der IT-Podcast aus Nerdistan

5 Listeners

Eine Stunde History - Deutschlandfunk Nova by Deutschlandfunk Nova

Eine Stunde History - Deutschlandfunk Nova

109 Listeners

Smarter leben by DER SPIEGEL

Smarter leben

50 Listeners

Kampf der Unternehmen by Wondery

Kampf der Unternehmen

16 Listeners

kurz informiert by heise online by heise online

kurz informiert by heise online

2 Listeners

Quarks Science Cops by Quarks

Quarks Science Cops

19 Listeners

Terra X History - Der Podcast by ZDF - Terra X

Terra X History - Der Podcast

9 Listeners

Aha! Zehn Minuten Alltags-Wissen by WELT

Aha! Zehn Minuten Alltags-Wissen

25 Listeners

KI verstehen by Deutschlandfunk

KI verstehen

8 Listeners

Wirecard: 1,9 Milliarden Lügen by Süddeutsche Zeitung

Wirecard: 1,9 Milliarden Lügen

3 Listeners

Passwort - der Podcast von heise security by Dr. Christopher Kunz, Sylvester Tremmel

Passwort - der Podcast von heise security

3 Listeners