REST Resource: projects.locations.deliveryPipelines

Resource: DeliveryPipeline

Resource DeliveryPipeline di Cloud Deploy API.

DeliveryPipeline menentukan pipeline yang dapat digunakan untuk melanjutkan konfigurasi Skaffold.

Representasi JSON
{
  "name": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "condition": {
    object (PipelineCondition)
  },
  "etag": string,
  "suspended": boolean,

  // Union field pipeline can be only one of the following:
  "serialPipeline": {
    object (SerialPipeline)
  }
  // End of list of possible types for union field pipeline.
}
Kolom
name

string

Opsional. Nama DeliveryPipeline. Formatnya adalah projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}. Komponen deliveryPipeline harus cocok dengan [a-z]([a-z0-9-]{0,61}[a-z0-9])?

uid

string

Hanya output. ID unik DeliveryPipeline.

description

string

Deskripsi DeliveryPipeline. Panjang maksimal adalah 255 karakter.

annotations

map (key: string, value: string)

Anotasi pengguna. Atribut ini hanya dapat ditetapkan dan digunakan oleh pengguna, bukan oleh Cloud Deploy.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Label adalah atribut yang dapat ditetapkan dan digunakan oleh pengguna dan oleh Cloud Deploy. Label harus memenuhi batasan berikut:

  • Kunci dan nilai hanya boleh berisi huruf kecil, karakter numerik, garis bawah, dan tanda hubung.
  • Semua karakter harus menggunakan encoding UTF-8, dan karakter internasional diperbolehkan.
  • Kunci harus diawali dengan huruf kecil atau karakter internasional.
  • Setiap resource dibatasi maksimum 64 label.

Kunci dan nilai juga dibatasi menjadi <= 128 byte.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Hanya output. Waktu saat pipeline dibuat.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Hanya output. Waktu terakhir saat pipeline diperbarui.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

condition

object (PipelineCondition)

Hanya output. Informasi seputar status Pipeline Pengiriman.

etag

string

Checksum ini dihitung oleh server berdasarkan nilai kolom lain, dan dapat dikirim pada saat permintaan update dan penghapusan untuk memastikan klien memiliki nilai terbaru sebelum melanjutkan.

suspended

boolean

Saat ditangguhkan, tidak ada rilis baru atau peluncuran yang dapat dibuat, tetapi rilis atau peluncuran yang sedang berlangsung akan selesai.

Kolom union pipeline. Konfigurasi pengurutan DeliveryPipeline. pipeline hanya dapat berupa salah satu dari yang berikut:
serialPipeline

object (SerialPipeline)

SerialPipeline menentukan serangkaian tahapan berurutan untuk DeliveryPipeline.

SerialPipeline

SerialPipeline menentukan serangkaian tahapan berurutan untuk DeliveryPipeline.

Representasi JSON
{
  "stages": [
    {
      object (Stage)
    }
  ]
}
Kolom
stages[]

object (Stage)

Setiap tahap menentukan konfigurasi untuk Target. Urutan daftar ini menentukan alur promosi.

Tahap

Stage menentukan lokasi deployment.

Representasi JSON
{
  "targetId": string,
  "profiles": [
    string
  ],
  "strategy": {
    object (Strategy)
  },
  "deployParameters": [
    {
      object (DeployParameters)
    }
  ]
}
Kolom
targetId

string

ID target yang dituju oleh tahap ini. Kolom ini hanya merujuk ke segmen terakhir dari nama target. Misalnya, kolom ini hanya akan menjadi my-target (bukan projects/project/locations/location/targets/my-target). Lokasi Target disimpulkan sama dengan lokasi DeliveryPipeline yang berisi Stage ini.

profiles[]

string

Profil Skaffold yang akan digunakan saat merender manifes untuk Target tahap ini.

strategy

object (Strategy)

Opsional. Strategi yang akan digunakan untuk Rollout hingga tahap ini.

deployParameters[]

object (DeployParameters)

Opsional. Parameter deploy yang akan digunakan untuk target di tahap ini.

Strategi

Strategi berisi informasi strategi deployment.

Representasi JSON
{

  // Union field deployment_strategy can be only one of the following:
  "standard": {
    object (Standard)
  },
  "canary": {
    object (Canary)
  }
  // End of list of possible types for union field deployment_strategy.
}
Kolom
Kolom union deployment_strategy. Detail strategi deployment. deployment_strategy hanya ada berupa salah satu diantara berikut:
standard

object (Standard)

Strategi deployment standar mengeksekusi satu deployment dan memungkinkan verifikasi deployment.

canary

object (Canary)

Strategi deployment canary menyediakan deployment berbasis persentase progresif ke sebuah Target.

Standar

Standar merepresentasikan strategi deployment standar.

Representasi JSON
{
  "verify": boolean,
  "predeploy": {
    object (Predeploy)
  },
  "postdeploy": {
    object (Postdeploy)
  }
}
Kolom
verify

boolean

Apakah akan memverifikasi deployment.

predeploy

object (Predeploy)

Opsional. Konfigurasi untuk tugas pra-deployment. Jika tidak dikonfigurasi, tugas pra-deploy tidak akan ada.

postdeploy

object (Postdeploy)

Opsional. Konfigurasi untuk tugas pasca-deployment. Jika tidak dikonfigurasi, tugas pasca-deployment tidak akan ada.

Pra-deployment

Pra-deployment berisi informasi konfigurasi tugas pra-deployment.

Representasi JSON
{
  "actions": [
    string
  ]
}
Kolom
actions[]

string

Opsional. Urutan tindakan kustom Skaffold yang akan dipanggil selama eksekusi tugas pra-deploy.

Pasca-deployment

Pasca-deploy berisi informasi konfigurasi tugas pasca-deployment.

Representasi JSON
{
  "actions": [
    string
  ]
}
Kolom
actions[]

string

Opsional. Urutan tindakan kustom Skaffold yang akan dipanggil selama eksekusi tugas pasca-deployment.

Canary

Canary mewakili strategi deployment canary.

Representasi JSON
{
  "runtimeConfig": {
    object (RuntimeConfig)
  },

  // Union field mode can be only one of the following:
  "canaryDeployment": {
    object (CanaryDeployment)
  },
  "customCanaryDeployment": {
    object (CustomCanaryDeployment)
  }
  // End of list of possible types for union field mode.
}
Kolom
runtimeConfig

object (RuntimeConfig)

Opsional. Konfigurasi khusus runtime untuk strategi deployment. Konfigurasi runtime digunakan untuk menentukan bagaimana Cloud Deploy membagi traffic untuk memungkinkan deployment progresif.

Kolom union mode. Mode yang digunakan untuk strategi deployment canary. mode hanya ada berupa salah satu diantara berikut:
canaryDeployment

object (CanaryDeployment)

Mengonfigurasi deployment berbasis progresif untuk Target.

customCanaryDeployment

object (CustomCanaryDeployment)

Mengonfigurasi deployment berbasis progresif untuk Target, tetapi memungkinkan penyesuaian pada level fase dengan fase yang mewakili setiap persentase deployment.

RuntimeConfig

RuntimeConfig berisi konfigurasi khusus runtime untuk strategi deployment.

Representasi JSON
{

  // Union field runtime_config can be only one of the following:
  "kubernetes": {
    object (KubernetesConfig)
  },
  "cloudRun": {
    object (CloudRunConfig)
  }
  // End of list of possible types for union field runtime_config.
}
Kolom
Kolom union runtime_config. Detail konfigurasi runtime. runtime_config hanya ada berupa salah satu diantara berikut:
kubernetes

object (KubernetesConfig)

Konfigurasi runtime Kubernetes.

cloudRun

object (CloudRunConfig)

Konfigurasi runtime Cloud Run.

KubernetesConfig

KubernetesConfig berisi konfigurasi runtime Kubernetes.

Representasi JSON
{

  // Union field service_definition can be only one of the following:
  "gatewayServiceMesh": {
    object (GatewayServiceMesh)
  },
  "serviceNetworking": {
    object (ServiceNetworking)
  }
  // End of list of possible types for union field service_definition.
}
Kolom
Kolom union service_definition. Konfigurasi definisi layanan. service_definition hanya ada berupa salah satu diantara berikut:
gatewayServiceMesh

object (GatewayServiceMesh)

Konfigurasi mesh layanan Kubernetes Gateway API.

serviceNetworking

object (ServiceNetworking)

Konfigurasi jaringan Layanan Kubernetes.

GatewayServiceMesh

Informasi tentang konfigurasi mesh layanan Kubernetes Gateway API.

Representasi JSON
{
  "httpRoute": string,
  "service": string,
  "deployment": string,
  "routeUpdateWaitTime": string,
  "stableCutbackDuration": string
}
Kolom
httpRoute

string

Wajib. Nama HTTPRoute Gateway API.

service

string

Wajib. Nama Layanan Kubernetes.

deployment

string

Wajib. Nama Deployment Kubernetes yang trafficnya dikelola oleh HTTPRoute dan Service yang ditentukan.

routeUpdateWaitTime

string (Duration format)

Opsional. Waktu menunggu pembaruan rute diterapkan. Waktu maksimum yang dapat dikonfigurasi adalah 3 jam, dalam format detik. Jika tidak ditentukan, tidak ada waktu tunggu.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

stableCutbackDuration

string (Duration format)

Opsional. Jumlah waktu untuk memigrasikan traffic kembali dari Layanan canary ke Layanan asli selama deployment fase stabil. Jika ditentukan, harus antara 15 dan 3.600. Jika tidak ditentukan, tidak ada pengurangan waktu.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

ServiceNetworking

Informasi tentang konfigurasi jaringan Layanan Kubernetes.

Representasi JSON
{
  "service": string,
  "deployment": string,
  "disablePodOverprovisioning": boolean
}
Kolom
service

string

Wajib. Nama Layanan Kubernetes.

deployment

string

Wajib. Nama Deployment Kubernetes yang trafficnya dikelola oleh Layanan yang ditentukan.

disablePodOverprovisioning

boolean

Opsional. Apakah akan menonaktifkan penyediaan berlebih Pod. Jika penyediaan berlebih Pod dinonaktifkan, Cloud Deploy akan membatasi jumlah total Pod yang digunakan untuk strategi deployment menjadi jumlah Pod yang dimiliki Deployment di cluster.

CloudRunConfig

CloudRunConfig berisi konfigurasi runtime Cloud Run.

Representasi JSON
{
  "automaticTrafficControl": boolean,
  "canaryRevisionTags": [
    string
  ],
  "priorRevisionTags": [
    string
  ],
  "stableRevisionTags": [
    string
  ]
}
Kolom
automaticTrafficControl

boolean

Apakah Cloud Deploy harus memperbarui stanza traffic di Layanan Cloud Run atas nama pengguna untuk memfasilitasi pemisahan traffic. Nilai ini harus benar untuk CanaryDeployment, tetapi opsional untuk CustomCanaryDeployment.

canaryRevisionTags[]

string

Opsional. Daftar tag yang ditambahkan ke revisi canary saat fase canary sedang berlangsung.

priorRevisionTags[]

string

Opsional. Daftar tag yang ditambahkan ke revisi sebelumnya saat fase canary sedang berlangsung.

stableRevisionTags[]

string

Opsional. Daftar tag yang ditambahkan ke revisi akhir stabil saat fase stabil diterapkan.

CanaryDeployment

CanaryDeployment mewakili konfigurasi deployment canary

Representasi JSON
{
  "percentages": [
    integer
  ],
  "verify": boolean,
  "predeploy": {
    object (Predeploy)
  },
  "postdeploy": {
    object (Postdeploy)
  }
}
Kolom
percentages[]

integer

Wajib. Deployment berbasis persentase yang akan terjadi sebagai bagian dari Rollout. Daftar diharapkan dalam urutan menaik dan setiap bilangan bulat n adalah 0 <= n < 100.

verify

boolean

Apakah akan menjalankan pengujian verifikasi setelah setiap persentase deployment.

predeploy

object (Predeploy)

Opsional. Konfigurasi untuk tugas pra-deployment fase pertama. Jika tidak dikonfigurasi, tidak akan ada tugas pra-deployment untuk fase ini.

postdeploy

object (Postdeploy)

Opsional. Konfigurasi untuk tugas pasca-deployment fase terakhir. Jika tidak dikonfigurasi, tidak akan ada tugas pasca-deployment untuk fase ini.

CustomCanaryDeployment

CustomCanaryDeployment mewakili konfigurasi deployment canary khusus.

Representasi JSON
{
  "phaseConfigs": [
    {
      object (PhaseConfig)
    }
  ]
}
Kolom
phaseConfigs[]

object (PhaseConfig)

Wajib. Konfigurasi untuk setiap fase dalam deployment canary dalam urutan yang dijalankan.

PhaseConfig

PhaseConfig mewakili konfigurasi untuk suatu fase dalam deployment canary kustom.

Representasi JSON
{
  "phaseId": string,
  "percentage": integer,
  "profiles": [
    string
  ],
  "verify": boolean,
  "predeploy": {
    object (Predeploy)
  },
  "postdeploy": {
    object (Postdeploy)
  }
}
Kolom
phaseId

string

Wajib. ID yang akan ditetapkan ke fase Rollout. Nilai ini harus terdiri dari huruf kecil, angka, dan tanda hubung, diawali dengan huruf dan diakhiri dengan huruf atau angka, serta memiliki panjang maksimal 63 karakter. Dengan kata lain, ekspresi tersebut harus cocok dengan ekspresi reguler berikut: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

percentage

integer

Wajib. Persentase deployment untuk fase.

profiles[]

string

Profil Skaffold yang akan digunakan saat merender manifes untuk fase ini. Daftar ini merupakan tambahan dari daftar profil yang ditentukan dalam stage DeliveryPipeline.

verify

boolean

Apakah akan menjalankan pengujian verifikasi setelah deployment.

predeploy

object (Predeploy)

Opsional. Konfigurasi untuk tugas pra-deployment fase ini. Jika tidak dikonfigurasi, tidak akan ada tugas pra-deployment untuk fase ini.

postdeploy

object (Postdeploy)

Opsional. Konfigurasi untuk tugas pasca-deployment pada fase ini. Jika tidak dikonfigurasi, tidak akan ada tugas pasca-deployment untuk fase ini.

DeployParameters

DeployParameters berisi informasi parameter deploy.

Representasi JSON
{
  "values": {
    string: string,
    ...
  },
  "matchTargetLabels": {
    string: string,
    ...
  }
}
Kolom
values

map (key: string, value: string)

Wajib. Nilai adalah parameter deploy dalam key-value pair.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

matchTargetLabels

map (key: string, value: string)

Opsional. Parameter deploy diterapkan ke target dengan label pencocokan. Jika tidak ditentukan, parameter deploy akan diterapkan ke semua target (termasuk target turunan dari beberapa target).

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

PipelineCondition

PipelineCondition berisi semua kondisi yang relevan dengan Pipeline Pengiriman.

Representasi JSON
{
  "pipelineReadyCondition": {
    object (PipelineReadyCondition)
  },
  "targetsPresentCondition": {
    object (TargetsPresentCondition)
  },
  "targetsTypeCondition": {
    object (TargetsTypeCondition)
  }
}
Kolom
pipelineReadyCondition

object (PipelineReadyCondition)

Detail seputar status keseluruhan Pipeline.

targetsPresentCondition

object (TargetsPresentCondition)

Detail tentang target yang disebutkan dalam pipeline.

targetsTypeCondition

object (TargetsTypeCondition)

Detail tentang apakah target yang disebutkan dalam pipeline memiliki jenis yang sama atau tidak.

PipelineReadyCondition

PipelineReadyCondition berisi informasi seputar status Pipeline.

Representasi JSON
{
  "status": boolean,
  "updateTime": string
}
Kolom
status

boolean

True jika Pipeline dalam status valid. Jika tidak, setidaknya satu kondisi di PipelineCondition dalam status tidak valid. Lakukan iterasi pada kondisi tersebut dan lihat kondisi mana yang memiliki status = false untuk mengetahui masalah pada Pipeline.

updateTime

string (Timestamp format)

Terakhir kali kondisi diperbarui.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

TargetsTypeCondition

TargetsTypeCondition berisi informasi tentang apakah Target yang ditentukan di Pipeline Pengiriman memiliki jenis yang sama atau tidak.

Representasi JSON
{
  "status": boolean,
  "errorDetails": string
}
Kolom
status

boolean

True jika semua target adalah jenis yang sebanding. Misalnya, hal ini berlaku jika semua target adalah cluster GKE. Hal ini tidak benar jika beberapa target adalah target Cloud Run dan yang lainnya adalah cluster GKE.

errorDetails

string

Pesan kesalahan yang dapat dibaca manusia.

Metode

create

Membuat DeliveryPipeline baru di project dan lokasi tertentu.

delete

Menghapus satu DeliveryPipeline.

get

Mendapatkan detail satu DeliveryPipeline.

getIamPolicy

Mendapatkan kebijakan kontrol akses untuk resource.

list

Mencantumkan DeliveryPipelines dalam project dan lokasi tertentu.

patch

Memperbarui parameter DeliveryPipeline tunggal.

rollbackTarget

Membuat Rollout untuk me-roll back target yang ditentukan.

setIamPolicy

Menetapkan kebijakan kontrol akses pada resource yang ditentukan.

testIamPermissions

Menampilkan izin yang dimiliki pemanggil atas resource yang ditentukan.