Builds in einem privaten Pool ausführen

In diesem Dokument wird erläutert, wie Builds in privaten Pools ausgeführt werden. Wenn Sie zum ersten Mal private Pools verwenden, lesen Sie die Übersicht zu privaten Pools.

Hinweis

  • Folgen Sie der Anleitung unter Private Pools erstellen und verwalten, um einen privaten Pool zu erstellen.

  • Um die Befehlszeilenbeispiele in dieser Anleitung zu verwenden, installieren und konfigurieren Sie das Cloud SDK.

  • Sie können entweder dasselbe Cloud-Projekt verwenden, um Ihren privaten Pool und Ihre Cloud Build-Builds zu erstellen, oder verschiedene Projekte verwenden. Wenn sich Ihre Builds in einem anderen Projekt als Ihr privater Pool befinden, legen Sie das Standardprojekt im gcloud-Tool auf das Projekt fest, aus dem Ihre Builds stammen:

    gcloud config set project BUILD_ORIGIN_PROJECT_ID
    

IAM-Berechtigungen

  • Um Builds mit dem gcloud-Tool oder der Cloud Build API auszuführen, weisen Sie dem Nutzer oder Dienstkonto, das den Build anfordert, die Rolle WorkerPool-Nutzer im privaten Poolprojekt zu.

  • So führen Sie automatisierte Builds mit Triggern aus:

    • Wenn das Projekt, in dem Sie den Build starten, mit dem Projekt übereinstimmt, in dem Ihr privater Pool vorhanden ist, müssen Sie keine Berechtigungen erteilen.
    • Wenn sich das Projekt, in dem Sie den Build starten, von dem Projekt unterscheidet, in dem Ihr privater Pool vorhanden ist, weisen Sie dem Cloud Build-Dienstkonto im Projekt die Rolle WorkerPool-Nutzer zu. wo Ihre Builds erstellt werden.

Eine Anleitung zum Zuweisen von IAM-Rollen finden Sie unter IAM-Rollen und -Berechtigungen.

Builds ausführen

Sie können Builds über dasselbe Cloud-Projekt einreichen, in dem Sie den privaten Pool erstellt haben, oder über ein anderes Cloud-Projekt. Sie können den privaten Pool entweder in der Build-Konfigurationsdatei oder direkt im Befehl gcloud angeben:

Privaten Pool in der Build-Konfigurationsdatei angeben:

  1. Fügen Sie in der Cloud Build-Konfigurationsdatei die Option pool hinzu und geben Sie den vollständigen Ressourcennamen des Worker-Pools an, um den Build auszuführen:

    YAML

    steps:
    - name: 'bash'
      args: ['echo', 'I am running in a private pool!']
    options:
      pool:
        name: 'projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID'
    

    JSON

    {
      "steps": [
      {
        "name": "bash",
        "args": [
          "echo",
          "I am running in a private pool!"
        ]
      }
      ],
      "options": {
        "pool" : {
          "name" : "projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID"
        }
      }
    }
    

    Ersetzen Sie die Platzhalterwerte in der obigen Konfigurationsdatei durch Folgendes:

    • WORKERPOOL_PROJECT_ID ist das Cloud-Projekt, in dem sich Ihr privater Pool befindet.
    • REGION: Region, in der Sie den privaten Pool erstellt haben.
    • WORKERPOOL_ID: die eindeutige Worker-Pool-ID, die Sie beim Erstellen des privaten Pools angegeben haben.
  2. Verwenden Sie die oben erstellte Build-Konfigurationsdatei, um den Build über gcloud oder die API oder mithilfe von Triggern auszuführen.

Privaten Pool im gcloud-Befehl angeben:

Sie können den privaten Pool im Befehl gcloud statt in der Build-Konfigurationsdatei angeben. Angenommen, Sie haben die folgende Build-Konfigurationsdatei:

YAML

  steps:
  - name: 'bash'
    args: ['echo', 'I am running in a private pool!']

JSON

  {
    "steps": [
    {
      "name": "bash",
      "args": [
        "echo",
        "I am running in a private pool!"
      ]
    }
    ],
  }

Der folgende Befehl wird mithilfe der Build-Konfigurationsdatei erstellt und gibt den Worker-Pool im Befehl an:

gcloud builds submit --config=CONFIG_FILE
  --worker-pool=projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID

Ersetzen Sie die Platzhalterwerte in den obigen Befehlen durch Folgendes:

  • CONFIG_FILE: Pfad zur Build-Konfigurationsdatei.
  • WORKERPOOL_ID: die eindeutige Worker-Pool-ID, die Sie beim Erstellen des privaten Pools angegeben haben.
  • WORKERPOOL_PROJECT_ID ist das Cloud-Projekt, in dem sich Ihr privater Pool befindet.
  • REGION: Region, in der Sie den privaten Pool erstellt haben.

Nächste Schritte