Java-Anwendungen erstellen und testen

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

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. 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 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 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

  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 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.
  5. 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 Wert requestedVerifyOption: VERIFIED 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 auch Metadaten zur Build-Herkunft aufrufen und die Herkunft überprüfen.

Nächste Schritte