REST Resource: projects.locations.deliveryPipelines.releases

Risorsa: release

Una risorsa Release nell'API Cloud Deploy.

Un Release definisce un'istanza di configurazione Skaffold specifica di cui è possibile eseguire il deployment.

Rappresentazione JSON
{
  "name": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "abandoned": boolean,
  "createTime": string,
  "renderStartTime": string,
  "renderEndTime": string,
  "skaffoldConfigUri": string,
  "skaffoldConfigPath": string,
  "buildArtifacts": [
    {
      object (BuildArtifact)
    }
  ],
  "deliveryPipelineSnapshot": {
    object (DeliveryPipeline)
  },
  "targetSnapshots": [
    {
      object (Target)
    }
  ],
  "customTargetTypeSnapshots": [
    {
      object (CustomTargetType)
    }
  ],
  "renderState": enum (RenderState),
  "etag": string,
  "skaffoldVersion": string,
  "targetArtifacts": {
    string: {
      object (TargetArtifact)
    },
    ...
  },
  "targetRenders": {
    string: {
      object (TargetRender)
    },
    ...
  },
  "condition": {
    object (ReleaseCondition)
  },
  "deployParameters": {
    string: string,
    ...
  }
}
Campi
name

string

Facoltativo. Nome di Release. Il formato è projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}. Il componente release deve corrispondere a [a-z]([a-z0-9-]{0,61}[a-z0-9])?

uid

string

Solo output. Identificatore univoco di Release.

description

string

Descrizione del Release. La lunghezza massima è di 255 caratteri.

annotations

map (key: string, value: string)

Annotazioni dell'utente. Questi attributi possono essere impostati e utilizzati solo dall'utente e non da Cloud Deploy. Consulta la pagina https://google.aip.dev/128#annotations per ulteriori dettagli quali le limitazioni relative a formato e dimensioni.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Le etichette sono attributi che possono essere impostati e utilizzati sia dall'utente sia da Cloud Deploy. Le etichette devono soddisfare i seguenti vincoli:

  • Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini.
  • Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti caratteri internazionali.
  • Le chiavi devono iniziare con una lettera minuscola o un carattere internazionale.
  • Ogni risorsa è limitata a un massimo di 64 etichette.

Sia le chiavi che i valori sono vincolati a essere inoltre <= 128 byte.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

abandoned

boolean

Solo output. Indica se si tratta di una release abbandonata.

createTime

string (Timestamp format)

Solo output. Ora in cui è stato creato l'elemento Release.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

renderStartTime

string (Timestamp format)

Solo output. L'ora in cui è iniziato il rendering.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

renderEndTime

string (Timestamp format)

Solo output. L'ora in cui è stato completato il rendering.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

skaffoldConfigUri

string

URI Cloud Storage dell'archivio tar.gz contenente la configurazione Skaffold.

skaffoldConfigPath

string

Filepath della configurazione Skaffold all'interno dell'URI di configurazione.

buildArtifacts[]

object (BuildArtifact)

Elenco di artefatti da passare al comando Skaffold.

deliveryPipelineSnapshot

object (DeliveryPipeline)

Solo output. Snapshot della pipeline padre creato al momento della creazione della release.

targetSnapshots[]

object (Target)

Solo output. Snapshot dei target presi al momento della creazione della release.

customTargetTypeSnapshots[]

object (CustomTargetType)

Solo output. Snapshot dei tipi di target personalizzati a cui fanno riferimento i target acquisiti al momento della creazione della release.

renderState

enum (RenderState)

Solo output. Stato attuale dell'operazione di rendering.

etag

string

Questo checksum viene calcolato dal server in base al valore di altri campi e può essere inviato in caso di richieste di aggiornamento ed eliminazione per garantire che il client abbia un valore aggiornato prima di procedere.

skaffoldVersion

string

La versione di Skaffold da utilizzare quando si opera su questa release, ad esempio "1.20.0". Non tutte le versioni sono valide; Cloud Deploy supporta un set specifico di versioni.

Se il criterio non viene configurato, verrà utilizzata la versione di Skaffold supportata più recente.

targetArtifacts

map (key: string, value: object (TargetArtifact))

Solo output. Mappa dall'ID target agli artefatti target creati durante l'operazione di rendering.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

targetRenders

map (key: string, value: object (TargetRender))

Solo output. Mappa dall'ID target ai dettagli dell'operazione di rendering per quel target.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

condition

object (ReleaseCondition)

Solo output. Informazioni sullo stato della release.

deployParameters

map (key: string, value: string)

Facoltativo. I parametri di deployment da utilizzare per tutte le destinazioni in questa release.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

BuildArtifact

Descrizione di un'immagine da utilizzare durante il rendering Skaffold.

Rappresentazione JSON
{
  "image": string,
  "tag": string
}
Campi
image

string

Nome immagine nella configurazione Skaffold.

tag

string

Tag immagine da utilizzare. In genere si tratta del percorso completo di un'immagine, ad esempio "gcr.io/my-project/occupatobox:1.2.3" o "gcr.io/my-project/occupatobox@sha256:abc123".

RenderState

Stati validi dell'operazione di rendering.

Enum
RENDER_STATE_UNSPECIFIED Lo stato di rendering non è specificato.
SUCCEEDED Tutte le operazioni di rendering sono state completate.
FAILED Tutte le operazioni di rendering sono state completate e una o più non sono riuscite.
IN_PROGRESS Il rendering è iniziato e non è stato completato.

TargetArtifact

Gli artefatti prodotti da un'operazione di rendering di destinazione.

Rappresentazione JSON
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "phaseArtifacts": {
    string: {
      object (PhaseArtifact)
    },
    ...
  },

  // Union field uri can be only one of the following:
  "artifactUri": string
  // End of list of possible types for union field uri.
}
Campi
skaffoldConfigPath

string

Solo output. Percorso del file della configurazione di Skaffold risolta in relazione all'URI.

manifestPath

string

Solo output. Percorso file del manifest visualizzato in relazione all'URI.

phaseArtifacts

map (key: string, value: object (PhaseArtifact))

Solo output. Mappa dall'ID fase agli artefatti di fase per Target.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Campo di unione uri.

uri può essere solo uno dei seguenti:

artifactUri

string

Solo output. URI di una directory contenente gli artefatti. Contiene la configurazione del deployment utilizzata da Skaffold durante un'implementazione e tutti i percorsi sono relativi a questa località.

PhaseArtifact

Contiene i percorsi degli artefatti di una fase relativi all'URI.

Rappresentazione JSON
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "jobManifestsPath": string
}
Campi
skaffoldConfigPath

string

Solo output. Percorso del file della configurazione di Skaffold risolta in relazione all'URI.

manifestPath

string

Solo output. Percorso file del manifest visualizzato in relazione all'URI.

jobManifestsPath

string

Solo output. Percorso file della directory dei manifest del job visualizzato in relazione all'URI. Questa opzione viene impostata solo se applicabile.

TargetRender

Dettagli del rendering per un singolo target.

Rappresentazione JSON
{
  "renderingBuild": string,
  "renderingState": enum (TargetRenderState),
  "metadata": {
    object (RenderMetadata)
  },
  "failureCause": enum (FailureCause),
  "failureMessage": string
}
Campi
renderingBuild

string

Solo output. Il nome della risorsa dell'oggetto Build di Cloud Build utilizzato per il rendering del manifest per questo target. Il formato è projects/{project}/locations/{location}/builds/{build}.

renderingState

enum (TargetRenderState)

Solo output. Stato attuale dell'operazione di rendering per questo target.

metadata

object (RenderMetadata)

Solo output. I metadati relativi al campo Release vengono visualizzati per questo target.

failureCause

enum (FailureCause)

Solo output. Motivo per cui questo rendering non è riuscito. Questo valore non sarà sempre specificato durante il rendering.

failureMessage

string

Solo output. Informazioni aggiuntive sull'errore di rendering, se disponibili.

TargetRenderState

Stati validi dell'operazione di rendering.

Enum
TARGET_RENDER_STATE_UNSPECIFIED Lo stato dell'operazione di rendering non è specificato.
SUCCEEDED L'operazione di rendering è stata completata.
FAILED L'operazione di rendering non è riuscita.
IN_PROGRESS È in corso l'operazione di rendering.

RenderMetadata

RenderMetadata include informazioni associate a un rendering Release.

Rappresentazione JSON
{
  "cloudRun": {
    object (CloudRunRenderMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
Campi
cloudRun

object (CloudRunRenderMetadata)

Solo output. Metadati associati al rendering per Cloud Run.

custom

object (CustomMetadata)

Solo output. Metadati personalizzati forniti da un'operazione di rendering definita dall'utente.

CloudRunRenderMetadata

CloudRunRenderMetadata contiene informazioni di Cloud Run associate a un rendering Release.

Rappresentazione JSON
{
  "service": string
}
Campi
service

string

Solo output. Il nome del servizio Cloud Run nel manifest sottoposto a rendering. Il formato è projects/{project}/locations/{location}/services/{service}.

FailureCause

Errori di rendering noti.

Enum
FAILURE_CAUSE_UNSPECIFIED Nessun motivo specificato per l'errore.
CLOUD_BUILD_UNAVAILABLE Cloud Build non è disponibile perché non è abilitato o perché Cloud Deploy non ha autorizzazioni sufficienti. Consulta l'autorizzazione richiesta.
EXECUTION_FAILED L'operazione di rendering non è stata completata correttamente; controlla i log di Cloud Build.
CLOUD_BUILD_REQUEST_FAILED Cloud Build non è riuscito a soddisfare la richiesta di Cloud Deploy. Per ulteriori dettagli, vedi failureMessage.
VERIFICATION_CONFIG_NOT_FOUND L'operazione di rendering non è stata completata correttamente perché non è stata trovata la stanza di verifica richiesta per la verifica nella configurazione di Skaffold.
CUSTOM_ACTION_NOT_FOUND L'operazione di rendering non è stata completata correttamente perché non è stata trovata l'azione personalizzata richiesta per il pre-deployment o il post-deployment nella configurazione di Skaffold. Per ulteriori dettagli, vedi failureMessage.
DEPLOYMENT_STRATEGY_NOT_SUPPORTED Rilascio non riuscito durante il rendering perché la configurazione della release non è supportata con la strategia di deployment specificata.
RENDER_FEATURE_NOT_SUPPORTED L'operazione di rendering aveva una funzionalità configurata non supportata.

ReleaseCondition

ReleaseCondition contiene tutte le condizioni pertinenti a un'uscita.

Rappresentazione JSON
{
  "releaseReadyCondition": {
    object (ReleaseReadyCondition)
  },
  "skaffoldSupportedCondition": {
    object (SkaffoldSupportedCondition)
  }
}
Campi
releaseReadyCondition

object (ReleaseReadyCondition)

Dettagli sullo stato generale delle Release.

skaffoldSupportedCondition

object (SkaffoldSupportedCondition)

Dettagli sullo stato del supporto della versione di Skaffold della release.

ReleaseReadyCondition

ReleaseReadyCondition contiene informazioni sullo stato dell'Release. Se una release non è pronta, non puoi creare un'implementazione con la release.

Rappresentazione JSON
{
  "status": boolean
}
Campi
status

boolean

True se la release è in uno stato valido. In caso contrario, almeno una condizione in ReleaseCondition è in uno stato non valido. Esegui un'iterazione su queste condizioni e verifica quali condizioni hanno lo stato = false per scoprire qual è il problema con la release.

SkaffoldSupportedCondition

SkaffoldSupportedCondition contiene informazioni sulla scadenza del supporto per la versione di Skaffold della release.

Rappresentazione JSON
{
  "status": boolean,
  "skaffoldSupportState": enum (SkaffoldSupportState),
  "maintenanceModeTime": string,
  "supportExpirationTime": string
}
Campi
status

boolean

True se la versione di Skaffold utilizzata da questa release è supportata.

skaffoldSupportState

enum (SkaffoldSupportState)

Lo stato del supporto di Skaffold per la versione di Skaffold di questa release.

maintenanceModeTime

string (Timestamp format)

L'ora in cui la versione di Skaffold di questa release entrerà in modalità di manutenzione.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

supportExpirationTime

string (Timestamp format)

La data in cui la versione di Skaffold di questa release non sarà più supportata.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

SkaffoldSupportState

Lo stato del supporto di una versione specifica di Skaffold.

Enum
SKAFFOLD_SUPPORT_STATE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
SKAFFOLD_SUPPORT_STATE_SUPPORTED Questa versione di Skaffold è attualmente supportata.
SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE Questa versione di Skaffold è in modalità di manutenzione.
SKAFFOLD_SUPPORT_STATE_UNSUPPORTED Questa versione di Skaffold non è più supportata.

Metodi

abandon

Abbandona una release nella pipeline di distribuzione.

create

Crea una nuova release in un progetto e in una località specifici.

get

Recupera i dettagli di una singola release.

list

Elenca le uscite in un progetto e in una località specifici.