REST Resource: projects.locations.deliveryPipelines.releases

Ressource: Release

Eine Release-Ressource in der Cloud Deploy API.

Ein Release definiert eine bestimmte Skaffold-Konfigurationsinstanz, die bereitgestellt werden kann.

JSON-Darstellung
{
  "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,
    ...
  }
}
Felder
name

string

Optional. Name von Release. Das Format ist projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}. Die Komponente „release“ muss mit „[a-z]([a-z0-9-]{0,61}[a-z0-9])?“ übereinstimmen

uid

string

Nur Ausgabe. Eindeutige Kennung von Release.

description

string

Beschreibung von Release. Maximale Länge: 255 Zeichen

annotations

map (key: string, value: string)

Nutzeranmerkungen Diese Attribute können nur vom Nutzer und nicht von Cloud Deploy festgelegt und verwendet werden. Weitere Informationen zu Format- und Größenbeschränkungen findest du unter https://google.aip.dev/128#annotations.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Labels sind Attribute, die sowohl vom Nutzer als auch von Cloud Deploy festgelegt und verwendet werden können. Labels müssen die folgenden Einschränkungen erfüllen:

  • Schlüssel und Werte dürfen nur Kleinbuchstaben, numerische Zeichen, Unterstriche und Bindestriche enthalten.
  • Alle Zeichen müssen die UTF-8-Codierung verwenden; internationale Zeichen sind zulässig.
  • Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.
  • Jede Ressource ist auf maximal 64 Labels beschränkt.

Sowohl Schlüssel als auch Werte sind zusätzlich auf maximal 128 Byte beschränkt.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

abandoned

boolean

Nur Ausgabe. Gibt an, ob es sich um einen abgebrochenen Release handelt.

createTime

string (Timestamp format)

Nur Ausgabe. Zeitpunkt, zu dem das Release erstellt wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

renderStartTime

string (Timestamp format)

Nur Ausgabe. Zeitpunkt, zu dem das Rendering begonnen hat.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

renderEndTime

string (Timestamp format)

Nur Ausgabe. Zeitpunkt, zu dem das Rendering abgeschlossen wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

skaffoldConfigUri

string

Cloud Storage-URI des tar.gz-Archivs, das die Skaffold-Konfiguration enthält.

skaffoldConfigPath

string

Dateipfad der Skaffold-Konfiguration innerhalb des Konfigurations-URI.

buildArtifacts[]

object (BuildArtifact)

Liste der Artefakte, die an den Skaffold-Befehl übergeben werden sollen.

deliveryPipelineSnapshot

object (DeliveryPipeline)

Nur Ausgabe. Snapshot der übergeordneten Pipeline, der beim Erstellen des Release erstellt wurde.

targetSnapshots[]

object (Target)

Nur Ausgabe. Snapshot der Ziele, die bei der Release-Erstellung aufgenommen wurden.

customTargetTypeSnapshots[]

object (CustomTargetType)

Nur Ausgabe. Snapshot der benutzerdefinierten Zieltypen, auf die die Ziele zum Zeitpunkt der Release-Erstellung verweisen.

renderState

enum (RenderState)

Nur Ausgabe. Aktueller Status des Renderingvorgangs.

etag

string

Diese Prüfsumme wird vom Server basierend auf dem Wert anderer Felder berechnet und kann bei Aktualisierungs- und Löschanfragen gesendet werden, um sicherzustellen, dass der Client vor dem Fortfahren über einen aktuellen Wert verfügt.

skaffoldVersion

string

Die Skaffold-Version, die bei dieser Version verwendet werden soll, z. B. „1.20.0“. Nicht alle Versionen sind gültig. Cloud Deploy unterstützt einen bestimmten Satz von Versionen.

Wenn kein Wert festgelegt ist, wird die neueste unterstützte Skaffold-Version verwendet.

targetArtifacts

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

Nur Ausgabe. Zuordnung der Ziel-ID zu den Zielartefakten, die während des Renderingvorgangs erstellt wurden.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

targetRenders

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

Nur Ausgabe. Ordnen Sie die Ziel-ID den Details des Renderingvorgangs für dieses Ziel zu.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

condition

object (ReleaseCondition)

Nur Ausgabe. Informationen zum Status der Veröffentlichung.

deployParameters

map (key: string, value: string)

Optional. Die Bereitstellungsparameter, die für alle Ziele in diesem Release verwendet werden sollen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

BuildArtifact

Beschreibung eines Bildes, das beim Skaffold-Rendering verwendet werden soll.

JSON-Darstellung
{
  "image": string,
  "tag": string
}
Felder
image

string

Image-Name in der Skaffold-Konfiguration.

tag

string

Zu verwendendes Bild-Tag. Das ist in der Regel der vollständige Pfad zu einem Image, z. B. „gcr.io/my-project/lecturebox:1.2.3“ oder „gcr.io/my-project/Kontingentbox@sha256:abc123“.

RenderState

Gültige Statuswerte des Renderingvorgangs.

Enums
RENDER_STATE_UNSPECIFIED Der Renderingstatus ist nicht angegeben.
SUCCEEDED Alle Rendering-Vorgänge wurden erfolgreich abgeschlossen.
FAILED Alle Rendering-Vorgänge sind abgeschlossen und mindestens einer ist fehlgeschlagen.
IN_PROGRESS Das Rendern wurde gestartet und ist nicht abgeschlossen.

TargetArtifact

Die Artefakte, die von einem Ziel-Renderingvorgang erzeugt werden.

JSON-Darstellung
{
  "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.
}
Felder
skaffoldConfigPath

string

Nur Ausgabe. Dateipfad der aufgelösten Skaffold-Konfiguration relativ zum URI.

manifestPath

string

Nur Ausgabe. Dateipfad des gerenderten Manifests relativ zum URI.

phaseArtifacts

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

Nur Ausgabe. Ordnen Sie die Phasen-ID den Phasenartefakten für Target zu.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Union-Feld uri.

Für uri ist nur einer der folgenden Werte zulässig:

artifactUri

string

Nur Ausgabe. URI eines Verzeichnisses, das die Artefakte enthält. Sie enthält die Bereitstellungskonfiguration, die Skaffold während eines Roll-outs verwendet. Alle Pfade beziehen sich auf diesen Speicherort.

PhaseArtifact

Enthält die Pfade zu den Artefakten für eine Phase relativ zum URI.

JSON-Darstellung
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "jobManifestsPath": string
}
Felder
skaffoldConfigPath

string

Nur Ausgabe. Dateipfad der aufgelösten Skaffold-Konfiguration relativ zum URI.

manifestPath

string

Nur Ausgabe. Dateipfad des gerenderten Manifests relativ zum URI.

jobManifestsPath

string

Nur Ausgabe. Dateipfad des Verzeichnisses der gerenderten Jobmanifeste relativ zum URI. Dieser Parameter wird nur festgelegt, wenn er zutreffend ist.

TargetRender

Details zum Rendering für ein einzelnes Ziel.

JSON-Darstellung
{
  "renderingBuild": string,
  "renderingState": enum (TargetRenderState),
  "metadata": {
    object (RenderMetadata)
  },
  "failureCause": enum (FailureCause),
  "failureMessage": string
}
Felder
renderingBuild

string

Nur Ausgabe. Der Ressourcenname des Cloud Build-Objekts Build, das zum Rendern des Manifests für dieses Ziel verwendet wird. Das Format ist projects/{project}/locations/{location}/builds/{build}.

renderingState

enum (TargetRenderState)

Nur Ausgabe. Aktueller Status des Renderingvorgangs für dieses Ziel.

metadata

object (RenderMetadata)

Nur Ausgabe. Die zum Release gehörigen Metadaten werden für dieses Ziel gerendert.

failureCause

enum (FailureCause)

Nur Ausgabe. Grund für das Rendering. Dies ist während des Renderings immer nicht angegeben.

failureMessage

string

Nur Ausgabe. Zusätzliche Informationen zum Renderingfehler, falls verfügbar

TargetRenderState

Gültige Statuswerte des Renderingvorgangs.

Enums
TARGET_RENDER_STATE_UNSPECIFIED Der Status des Renderingvorgangs ist nicht angegeben.
SUCCEEDED Der Renderingvorgang wurde erfolgreich abgeschlossen.
FAILED Beim Rendering ist ein Fehler aufgetreten.
IN_PROGRESS Der Renderingvorgang wird ausgeführt.

RenderMetadata

„RenderMetadata“ enthält Informationen, die mit einem Release-Rendering verknüpft sind.

JSON-Darstellung
{
  "cloudRun": {
    object (CloudRunRenderMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
Felder
cloudRun

object (CloudRunRenderMetadata)

Nur Ausgabe. Mit dem Rendering für Cloud Run verknüpfte Metadaten.

custom

object (CustomMetadata)

Nur Ausgabe. Benutzerdefinierte Metadaten, die durch einen benutzerdefinierten Renderingvorgang bereitgestellt werden.

CloudRunRenderMetadata

„CloudRunRenderMetadata“ enthält Cloud Run-Informationen, die einem Release-Rendering zugeordnet sind.

JSON-Darstellung
{
  "service": string
}
Felder
service

string

Nur Ausgabe. Der Name des Cloud Run-Dienstes im gerenderten Manifest. Format ist projects/{project}/locations/{location}/services/{service}.

FailureCause

Bekannte Renderingfehler.

Enums
FAILURE_CAUSE_UNSPECIFIED Es wurde kein Grund für den Fehler angegeben.
CLOUD_BUILD_UNAVAILABLE Cloud Build ist nicht verfügbar, weil es nicht aktiviert ist oder Cloud Deploy unzureichende Berechtigungen hat. Siehe Erforderliche Berechtigung.
EXECUTION_FAILED Der Renderingvorgang wurde nicht erfolgreich abgeschlossen. Prüfen Sie die Cloud Build-Logs.
CLOUD_BUILD_REQUEST_FAILED Cloud Build konnte die Anfrage von Cloud Deploy nicht ausführen. Weitere Informationen finden Sie unter „failMessage“.
VERIFICATION_CONFIG_NOT_FOUND Der Renderingvorgang wurde nicht erfolgreich abgeschlossen, da die für die Überprüfung erforderliche Bestätigungs-Stanza in der Skaffold-Konfiguration nicht gefunden wurde.
CUSTOM_ACTION_NOT_FOUND Der Renderingvorgang wurde nicht erfolgreich abgeschlossen, da die für das Vorab- oder Nach Bereitstellen erforderliche benutzerdefinierte Aktion in der Skaffold-Konfiguration nicht gefunden wurde. Weitere Informationen finden Sie unter „failMessage“.
DEPLOYMENT_STRATEGY_NOT_SUPPORTED Der Release ist während des Renderings fehlgeschlagen, da die Releasekonfiguration mit der angegebenen Bereitstellungsstrategie nicht unterstützt wird.
RENDER_FEATURE_NOT_SUPPORTED Für den Renderingvorgang war eine Funktion konfiguriert, die nicht unterstützt wird.

ReleaseCondition

„ReleaseCondition“ enthält alle für einen Release relevanten Bedingungen.

JSON-Darstellung
{
  "releaseReadyCondition": {
    object (ReleaseReadyCondition)
  },
  "skaffoldSupportedCondition": {
    object (SkaffoldSupportedCondition)
  }
}
Felder
releaseReadyCondition

object (ReleaseReadyCondition)

Details zum Gesamtstatus der Releases.

skaffoldSupportedCondition

object (SkaffoldSupportedCondition)

Details zum Supportstatus der Skaffold-Version des Release.

ReleaseReadyCondition

„ReleaseReadyCondition“ enthält Informationen zum Status des Release. Wenn ein Release nicht bereit ist, können Sie mit dem Release kein Roll-out erstellen.

JSON-Darstellung
{
  "status": boolean
}
Felder
status

boolean

True, wenn der Release einen gültigen Status hat. Andernfalls hat mindestens eine Bedingung in ReleaseCondition den ungültigen Status. Überprüfe diese Bedingungen und finde heraus, welche Bedingungen den Status „falsch“ haben, um herauszufinden, was mit der Veröffentlichung nicht in Ordnung ist.

SkaffoldSupportedCondition

„SkffoldSupportedCondition“ enthält Informationen darüber, wann die Unterstützung für die Release-Version von Skaffold endet.

JSON-Darstellung
{
  "status": boolean,
  "skaffoldSupportState": enum (SkaffoldSupportState),
  "maintenanceModeTime": string,
  "supportExpirationTime": string
}
Felder
status

boolean

„True“, wenn die von diesem Release verwendete Skaffold-Version unterstützt wird.

skaffoldSupportState

enum (SkaffoldSupportState)

Der Skaffold-Supportstatus für die Skaffold-Version dieses Release.

maintenanceModeTime

string (Timestamp format)

Der Zeitpunkt, zu dem die Skaffold-Version dieses Release in den Wartungsmodus wechselt.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

supportExpirationTime

string (Timestamp format)

Der Zeitpunkt, zu dem die Skaffold-Version dieses Release nicht mehr unterstützt wird.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

SkaffoldSupportState

Der Supportstatus einer bestimmten Skaffold-Version.

Enums
SKAFFOLD_SUPPORT_STATE_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
SKAFFOLD_SUPPORT_STATE_SUPPORTED Diese Skaffold-Version wird derzeit unterstützt.
SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE Diese Skaffold-Version befindet sich im Wartungsmodus.
SKAFFOLD_SUPPORT_STATE_UNSUPPORTED Diese Skaffold-Version wird nicht mehr unterstützt.

Methoden

abandon

Verwirft einen Release in der Bereitstellungspipeline.

create

Erstellt einen neuen Release in einem bestimmten Projekt und an einem bestimmten Standort.

get

Ruft Details zu einer einzelnen Veröffentlichung ab.

list

Listet Releases in einem bestimmten Projekt und an einem bestimmten Standort auf.