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