Java-Anwendungen erstellen und testen

Auf dieser Seite wird erläutert, wie Sie mit Cloud Build erstellen und testen Java-basierte Anwendungen, speichern Sie erstellte Artefakte in einem Maven-Repository in Artifact Registry verwenden und Informationen zur Build-Herkunft generieren

Hinweise

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 maven oder maven:<tag> fest, wobei der Wert -Tag für die Version steht. 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 name verwiesen wird. Legen Sie den Wert dieses Felds auf mvn fest, um mvn als Einstiegspunkt für den Build-Schritt aufzurufen und mvn-Befehle auszuführen.
  • args: Im Feld args eines Build-Schritts wird eine Liste von Argumenten abgerufen und an das Image übergeben, auf das im Feld name verwiesen wird.

Im folgenden Build-Schritt wird die entrypoint für das maven-Image festgelegt 3.3-jdk-8 und gibt die Build-Tool-Version aus:

          steps:
          - name: maven:3.3-jdk-8
            entrypoint: mvn
            args: ['--version']

Java-Builds konfigurieren

  1. Erstellen Sie im Stammverzeichnis des Projekts eine Build-Konfigurationsdatei mit dem Namen cloudbuild.yaml.

  2. Tests ausführen: maven stellt maven test bereit. Dadurch werden die Abhängigkeiten heruntergeladen, die Anwendungen werden erstellt und alle in Ihrem Quellcode angegebenen Tests werden ausgeführt. Im Feld args eines Build-Schritts wird eine Liste von Argumenten abgerufen und an das Image übergeben, auf das im Feld name verwiesen wird.

    Fügen Sie in Ihrer Build-Konfigurationsdatei dem Feld args den Wert test hinzu, um test innerhalb von maven aufzurufen:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['test']
    
  3. Anwendung verpacken: Geben Sie im Feld args den Befehl package an, um Ihre Anwendung in einer JAR-Datei für das maven-Image zu verpacken. Mit dem Befehl package 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']
    
  4. 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 zum Anwendungspaket.
    • build-artifact ist der Name der Paketdatei, die aus dem 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.
  5. Optional: Provenance-Generierung aktivieren

    Cloud Build kann überprüfbare SLSA-Build (Supply Chain Levels for Software Artifacts) Herkunftsmetadaten, um Ihre Continuous-Integration-Pipeline zu sichern.

    Um das Generieren von Herkunft zu ermöglichen, fügen Sie requestedVerifyOption: VERIFIED zum Abschnitt options Ihrer Konfigurationsdatei hinzu.

  6. 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 sich auch Build-Herkunftsmetadaten ansehen und Herkunft prüfen.

Nächste Schritte