Auf dieser Seite wird erläutert, wie Sie mit Cloud Build Java-basierte Anwendungen erstellen und testen, erstellte Artefakte in einem Maven-Repository in Artifact Registry speichern und Informationen zur Build-Herkunft generieren.
Hinweise
- Machen Sie sich mit der Erstellung von Java-basierten Anwendungen vertraut.
- Machen Sie sich mit Maven vertraut.
- 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. Wenn 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 von Docker Hub erstellt werden.
Wenn Sie Ihre Aufgaben im Image maven
ausführen möchten, geben Sie die URL des Images und die getaggte Version des Images im Feld name
Ihrer Build-Konfigurationsdatei an. Wenn Sie das Image-Tag nicht angeben, verwendet Cloud Build standardmäßig das Image latest
. Cloud Build startet das in name
angegebene Image über den Standardeinstiegspunkt des Images. Wenn Sie den Standardeinstiegspunkt überschreiben und maven
als Einstiegspunkt aufrufen möchten, geben Sie mvn
im Feld entrypoint
an.
Die folgende Build-Konfigurationsdatei gibt die entrypoint
für das maven
-Image an und gibt die Version des Build-Tools aus:
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, das Abhängigkeiten herunterlädt, die Anwendungen erstellt und alle im Quellcode angegebenen Tests ausfü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 der 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:
Cloud Build generiert Supply Chain Levels for Software Artifacts (SLSA), Build-Herkunftsinformationen für eigenständige Maven-Pakete, wenn Sie Artefakte über das Feld
mavenArtifacts
in Ihrer Cloud Build-Konfigurationsdatei in Artifact Registry hochladen.Verwenden Sie in der Build-Konfigurationsdatei das Feld
mavenArtifacts
, um den Pfad Ihrer Anwendungsdatei und Ihr Maven-Repository in Artifact Registry anzugeben: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 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 zum Anwendungspaket.
- build-artifact: Der Name der Paketdatei, die im Build-Schritt erstellt wurde.
- group-id: Identifiziert Ihr Projekt in allen Maven-Projekten eindeutig im Format
com.mycompany.app
. Weitere Informationen finden Sie in der Maven-Anleitung zu Namenskonventionen. - version: die Versionsnummer für Ihre Anwendung, formatiert in Zahlen und Punkten wie
1.0.1
.
Optional: Herkunft für regionale Builds aktivieren
Wenn Sie einen regionalen Build verwenden, fügen Sie in der Build-Konfigurationsdatei das Feld
requestedVerifyOption
inoptions
ein. Legen Sie den Wert aufVERIFIED
fest, um das Generieren von Herkunftsmetadaten zu aktivieren. Wenn SierequestedVerifyOption: VERIFIED
nicht hinzufügen, generiert Cloud Build die Herkunft nur für globale Builds.options: requestedVerifyOption: VERIFIED
Build starten: manuell oder mit Build-Triggern
Sobald der Build abgeschlossen ist, können Sie die Repository-Details in Artifact Registry ansehen.
Sie können auch Build-Metadaten aufrufen und Herkunft prüfen, um Ihre Softwarelieferkette zu schützen.
Nächste Schritte
- Build-Ergebnisse aufrufen
- Builds schützen
- Blau/Grün-Bereitstellungen in Compute Engine durchführen
- Java-Anwendungen erstellen und containerisieren
- Mehr zum Bereitstellen einer Anwendung in Cloud Run
- Mehr zum Bereitstellen einer Anwendung in GKE
- Build-Fehler beheben