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

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

  2. Tests ausführen: maven stellt maven test bereit, das Abhängigkeiten herunterlädt, die Anwendungen erstellt und alle im Quellcode angegebenen Tests ausfü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 der 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:

    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.
  5. Optional: Herkunft für regionale Builds aktivieren

    Wenn Sie einen regionalen Build verwenden, fügen Sie in der Build-Konfigurationsdatei das Feld requestedVerifyOption in options ein. Legen Sie den Wert auf VERIFIED fest, um das Generieren von Herkunftsmetadaten zu aktivieren. Wenn Sie requestedVerifyOption: VERIFIED nicht hinzufügen, generiert Cloud Build die Herkunft nur für globale Builds.

    options:
      requestedVerifyOption: VERIFIED
    
  6. 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