Compose Hausaufgabe
In dieser Aufgabe erstellen Sie ein Docker Image, das einem CI/CD Prozess zur statischen Code-Analyse verwendet werden kann. Für die Aufgabe wird das Image mittels Docker Compose gebaut gestartet.
Last updated
In dieser Aufgabe erstellen Sie ein Docker Image, das einem CI/CD Prozess zur statischen Code-Analyse verwendet werden kann. Für die Aufgabe wird das Image mittels Docker Compose gebaut gestartet.
Last updated
Erstellen Sie ein auf Basis dessen Sie ein Image erstellen können
Erstellen Sie eine docker-compose.yml
Datei mittels derer das Image gebaut und gestartet werden kann.
Das Image muss folgende Anforderungen erfüllen:
Das Image wird automatisch gebaut, sobald via docker-compose up
aufgerufen wird.
Nachdem der Container gestartet wurde, wird automatisch ein Git Repository gecloned.
Die URL auf das Git Repository kann in der docker-compose.yml
Datei spezifiziert werden.
Hinweis: Die Repository URL darf nicht im Image hart hinterlegt werden.
Nach dem Clonen des Repositories startet Ihr Container und führt eine Analyse des Codes im Repository auf Basis der aus.
Die Datei mit der Google Java Style Guide wird von Ihnen bereitgestellt und befindet sich im gleichen Verzeichnis wie das Dockerfile.
Der Pfad des Quell-Codes im Repository (z.B. /src/foo/bar/
) kann in der docker-compose.yml
Datei spezifiziert werden.
Hinweis: Der Pfad darf nicht hart im Image hinterlegt sein.
Die Ausführung von Checkstyle erfolgt über ein Gradle Skript.
Das Skript befindet sich im selben Verzeichnis wie Ihr Dockerfile und kann baum bauen des Images in dieses kopiert werden.
Beide Parameter (Git Repository und der Pfad zum Code innerhalb des Repositories) können als Parameter in der docker-compose.yml
Datei geändert werden.
Änderungen an den Parametern treten immer erst nach dem Neustart des Containers (via docker-compose up
) in Kraft.
Alle Fehler, die auftreten sollen im Container Log via ausgegeben werden.
Werden bei der Ausführung von Checkstyle Abweichungen von den Google Java Style Guides festgestellt, soll diese Ausgabe ebenfalls im container log ausgegeben werden.
Hinweis: Zusätzliche Informationen zu Parametern für Images und Containers finden Sie folgendem Artikel: .