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.
- 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 auf- mavenoder- maven:<tag>fest. Das Tag steht für die Version. Wenn Sie das Image-Tag nicht angeben, verwendet Cloud Build standardmäßig das- latest-Image.
- entrypoint: Wenn Sie dieses Feld festlegen, wird der Standardeinstiegspunkt des Bilds überschrieben, auf das in- nameverwiesen wird. Legen Sie den Wert dieses Felds auf- mvnfest, um- mvnals Einstiegspunkt für den Build-Schritt aufzurufen und- mvn-Befehle auszuführen.
- args: Im Feld- argseines Build-Schritts wird eine Liste von Argumenten abgerufen und an das Image übergeben, auf das im Feld- nameverwiesen wird.
Im folgenden Build-Schritt wird entrypoint für das maven-Image festgelegt, das mit 3.3-jdk-8 getaggt ist, und 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: - mavenstellt- maven testbereit. Dadurch werden die Abhängigkeiten heruntergeladen, die Anwendungen werden erstellt und alle in Ihrem Quellcode angegebenen Tests werden ausgeführt. Im Feld- argseines Build-Schritts wird eine Liste von Argumenten abgerufen und an das Image übergeben, auf das im Feld- nameverwiesen wird.- Fügen Sie in Ihrer Build-Konfigurationsdatei dem Feld - argsden Wert- testhinzu, um- testinnerhalb von- mavenaufzurufen:- steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
- Anwendung verpacken: Geben Sie im Feld - argsden Befehl- packagean, um Ihre Anwendung in einer JAR-Datei für das- maven-Image zu verpacken. Mit dem Befehl- packagewird 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 - mavenArtifactsden 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 Projekts Google Cloud , 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 - optionsden Wert- requestedVerifyOption: VERIFIEDhinzu.
- 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