Auf dieser Seite wird erläutert, wie Sie mit Cloud Build Java-basierte Anwendungen erstellen und testen, erstellte Artefakte in einem Maven-Repository in der Artifact Registry speichern und Informationen zur Build-Herkunft generieren.
Hinweise
- Machen Sie sich mit der Erstellung von Java-basierten Anwendungen vertraut.
- Sie sollten mit Maven vertraut sein.
- Halten Sie Ihr Java-Projekt bereit.
- Machen Sie sich damit vertraut, wie eine Cloud Build-Konfigurationsdatei geschrieben wird.
- Sie haben ein Maven-Repository in Artifact Registry. Falls Sie noch keines haben, erstellen Sie ein neues Repository.
- Zum Ausführen der
gcloud
-Befehle auf dieser Seite müssen Sie die Google Cloud CLI installieren.
maven
-Image verwenden
Sie können Cloud Build so konfigurieren, dass Java-Anwendungen mit dem maven
-Image aus Docker Hub erstellt werden.
Wenn Sie Ihre Aufgaben im maven
-Image ausführen möchten, fügen Sie Ihrer Build-Konfiguration einen Schritt mit den folgenden Feldern hinzu:
name
: Legen Sie den Wert dieses Felds aufmaven
odermaven:<tag>
fest. Das Tag steht für die Version. Wenn Sie das Image-Tag nicht angeben, verwendet Cloud Build standardmäßig daslatest
-Image.entrypoint
: Wenn Sie dieses Feld festlegen, wird der Standardeinstiegspunkt des Bilds überschrieben, auf das inname
verwiesen wird. Legen Sie den Wert dieses Felds aufmvn
fest, ummvn
als Einstiegspunkt für den Build-Schritt aufzurufen undmvn
-Befehle auszuführen.args
: Im Feldargs
eines Build-Schritts wird eine Liste von Argumenten abgerufen und an das Image übergeben, auf das im Feldname
verwiesen wird.
Im folgenden Build-Schritt wird entrypoint
für das maven
-Image festgelegt, das mit 3.3-jdk-8
getaggt ist. Außerdem wird die Version des Build-Tools ausgegeben:
steps:
- name: maven:3.3-jdk-8
entrypoint: mvn
args: ['--version']
Java
-Builds konfigurieren
Erstellen Sie im Stammverzeichnis des Projekts eine Build-Konfigurationsdatei mit dem Namen
cloudbuild.yaml
.Tests ausführen:
maven
stelltmaven test
bereit. Dadurch werden die Abhängigkeiten heruntergeladen, die Anwendungen werden erstellt und alle in Ihrem Quellcode angegebenen Tests werden ausgeführt. Im Feldargs
eines Build-Schritts wird eine Liste von Argumenten abgerufen und an das Image übergeben, auf das im Feldname
verwiesen wird.Fügen Sie in Ihrer Build-Konfigurationsdatei dem Feld
args
den Werttest
hinzu, umtest
innerhalb vonmaven
aufzurufen:steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
Anwendung verpacken: Geben Sie im Feld
args
den Befehlpackage
an, um Ihre Anwendung in einer JAR-Datei für dasmaven
-Image zu verpacken. Mit dem Befehlpackage
wird in/workspace/target/
eine JAR-Datei erstellt.Mit dem folgenden Build-Schritt wird Ihre Java-Anwendung verpackt:
steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
In Artifact Registry hochladen:
Geben Sie in der Build-Konfigurationsdatei im Feld
mavenArtifacts
den Pfad zur Anwendung und das Maven-Repository in Artifact Registry an:artifacts: mavenArtifacts: - repository: 'https://location-maven.pkg.dev/project-id/repository-name' path: 'app-path' artifactId: 'build-artifact' groupId: 'group-id' version: 'version'
Ersetzen Sie die folgenden Werte:
- location: der Speicherort Ihres Repositorys in der Artifact Registry.
- project-id: die ID des Google Cloud -Projekts, das Ihr Artifact Registry-Repository enthält.
- repository-name: der Name Ihres Maven-Repositorys in Artifact Registry.
- app-path: der Pfad zur verpackten Anwendung.
- build-artifact ist der Name der Paketdatei, die aus dem Build-Schritt erstellt wurde.
- group-id: identifiziert Ihr Projekt eindeutig in allen Maven-Projekten im Format
com.mycompany.app
. Weitere Informationen finden Sie in der Maven-Anleitung zu Namenskonventionen. - version: die Versionsnummer Ihrer Anwendung, formatiert in Ziffern und Punkten wie
1.0.1
.
Optional: Generierung der Provenienz aktivieren
Cloud Build kann verifizierbare Herkunftsmetadaten für Lieferkettenebenen für Software-Artefakte (SLSA) generieren, um Ihre Continuous-Integration-Pipeline zu schützen.
Wenn Sie die Generierung der Provenienz aktivieren möchten, fügen Sie in der Konfigurationsdatei dem Abschnitt
options
den WertrequestedVerifyOption: VERIFIED
hinzu.Starten Sie den Build: manuell oder mithilfe von Build-Triggern.
Sobald der Build abgeschlossen ist, können Sie sich die Repository-Details in Artifact Registry ansehen.
Sie können auch Metadaten zur Build-Herkunft aufrufen und die Herkunft überprüfen.
Nächste Schritte
- Build-Ergebnisse aufrufen
- Weitere Informationen zum Schützen von Builds
- Weitere Informationen zu Blau/Grün-Bereitstellungen in der Compute Engine
- Weitere Informationen zum Erstellen und Containerisieren von Java-Anwendungen
- Mehr zum Bereitstellen einer Anwendung in Cloud Run
- Mehr zum Bereitstellen einer Anwendung in GKE
- Build-Fehler beheben