Configura le attività

Questo documento descrive come configurare le attività in Cloud Deploy. Un'attività è un'unità di lavoro che può essere utilizzata come hook di deployment, per la verifica del deployment, per l'analisi del deployment o per un rendering personalizzato o un deployment personalizzato in un tipo di target personalizzato.

Puoi configurare un'attività nella pipeline di pubblicazione (come parte della strategia) o nel rendering o nel deployment del tipo di target personalizzato.

Con le attività, puoi utilizzare i parametri di sistema inserendoli come modelli nella configurazione dell'attività.

Definisci un'attività

Puoi definire un'attività nella configurazione della pipeline di pubblicazione o come parte di una definizione di tipo di target personalizzato. Il seguente YAML mostra la sezione task utilizzata in entrambi i casi:

  task:
    type: container
    image: IMAGE
    command: [COMMANDS_TO_RUN]
    args: [LIST_OF_ARGS]
    env:
    - KEY1:VAL1
    - KEY2:VAL2
    ...

Per la configurazione task:

  • type

    Specifica il tipo di attività che viene configurata. È supportato solo container.

  • image

    È il percorso dell'immagine container.

  • command

    È il comando o i comandi da eseguire sul container.

  • args

    È una raccolta di argomenti per command.

  • env

    È una raccolta di variabili di ambiente da fornire al container in esecuzione.

Parametri di sistema come variabili di ambiente dell'attività

Cloud Deploy offre parametri generati dal sistema che puoi utilizzare come variabili di ambiente nelle tue attività, utilizzando il campo env nell'attività container. I parametri basati su modelli possono essere presenti nei campi chiave o valore di una voce della mappa env.

Ecco alcuni casi d'uso di esempio:

  • Passando il nome del servizio Cloud Run, l'URL del servizio e il nome della revisione come variabili di ambiente.

    task:
      type: container
      image: my-image
      command: ["/bin/bash"]
      env:
      - RUN_SERVICE_NAME : "${{ render.metadata.cloud_run.service.name }}"
      - RUN_SERVICE_URL: "${{ rollout.metadata.cloud_run.service_url }}"
      - RUN_REVISION_NAME: "${{ render.metadata.cloud_run.revision.name }}"
    
  • Utilizzo di più parametri in una singola voce.

    task:
      type: container
      image: my-image
      command: ["/bin/bash"]
      env:
      - DEPLOY_PARAMS_KEY : "${{ deploy_params['FOO'] }}-with-${{ deploy_params['BAR'] }}"
      - "${{ project.id }}_${{ location }}" : "${{ target.id }}"
    

Parametri di sistema disponibili

Cloud Deploy fornisce i seguenti parametri di sistema che puoi utilizzare nella configurazione delle attività utilizzando questo formato:

${{ parameter }}

$${{ }}.

Di seguito è riportato l'elenco dei parametri disponibili per la creazione di modelli:

Nome Definizione
location La regione contenente le risorse Cloud Deploy.
Disponibile al momento della creazione della release.
project.num Il numero di progetto Google Cloud del progetto contenente le risorse Cloud Deploy.
Disponibile al momento della creazione della release.
project.id L'ID progetto Google Cloud del progetto.
Disponibile al momento della creazione della release.
delivery_pipeline.name Il nome della risorsa completamente specificato della pipeline di distribuzione.
Disponibile al momento della creazione della release.
delivery_pipeline.id L'ID della pipeline di distribuzione.
Disponibile al momento della creazione della release.
target.name Il nome della risorsa completamente specificato della destinazione.
Disponibile al momento della creazione della release.
target.id L'ID del target.
Disponibile al momento della creazione della release.
release.name Il nome della risorsa completamente specificato della release.
Disponibile al momento della creazione della release.
release.id L'ID della release.
Disponibile al momento della creazione della release.
rollout.name Il nome risorsa completamente specificato del rollout.
Disponibile al momento della creazione dell'implementazione.
rollout.id L'ID dell'implementazione.
Disponibile al momento della creazione dell'implementazione.
job.id L'ID del job in esecuzione.
Disponibile al momento della creazione dell'implementazione.
phase.id La fase del lancio che contiene il job per le attività.
Disponibile al momento della creazione dell'implementazione.
job_run.name Il nome della risorsa completamente specificato dell'esecuzione del job che rappresenta l'esecuzione corrente del job.
Disponibile al momento della creazione dell'implementazione.
job_run.id L'ID dell'esecuzione del job che rappresenta l'esecuzione corrente del job.
Disponibile al momento della creazione dell'implementazione.
deploy_params Una mappa dei parametri di deployment associati alla destinazione.
Esempio: deploy_params['KEY']
Il tentativo di accedere a una chiave inesistente restituisce una stringa vuota.
Disponibile al momento della creazione della release.
Per i target di tipo RUN:
cloud_run.project Il progetto in cui è stato creato il servizio Cloud Run.
Disponibile al momento della creazione della release.
cloud_run.location La regione in cui viene eseguito il deployment del servizio Cloud Run.
Disponibile al momento della creazione della release.
render.metadata.cloud_run.service.name Il nome del servizio Cloud Run di cui è stato eseguito il deployment.
Disponibile al termine dell'operazione di rendering.
render.metadata.cloud_run.service.id L'ID del servizio Cloud Run di cui è stato eseguito il deployment.
Disponibile al termine dell'operazione di rendering.
rollout.metadata.cloud_run.service.url L'URL che gli utenti finali utilizzeranno per accedere al tuo servizio. Puoi trovarli nei dettagli del servizio Cloud Run per il tuo servizio nella console Google Cloud .
Disponibile al termine dell'operazione di deployment.
render.metadata.cloud_run.revision.name Il nome completo della revisione del servizio Cloud Run di cui viene eseguito il deployment.
Disponibile al termine dell'operazione di rendering.
render.metadata.cloud_run.revision.id L'ID revisione del servizio Cloud Run di cui viene eseguito il deployment.
Disponibile al termine dell'operazione di rendering.
rollout.metadata.cloud_run.previous_revision.name Il nome completo della revisione precedente del servizio Cloud Run di cui viene eseguito il deployment.
Disponibile al termine dell'operazione di deployment.