Dokumen ini menjelaskan cara mengonfigurasi tugas di Cloud Deploy. Tugas adalah unit kerja yang dapat digunakan sebagai hook deployment, untuk verifikasi deployment, untuk analisis deployment, atau untuk render kustom atau deployment kustom dalam jenis target kustom.
Anda dapat mengonfigurasi tugas di pipeline pengiriman (sebagai bagian dari strategi) atau render atau deploy jenis target kustom.
Dengan tugas, Anda dapat menggunakan parameter sistem dengan membuat template ke dalam konfigurasi tugas.
Menentukan tugas
Anda dapat menentukan tugas dalam konfigurasi pipeline penayangan atau sebagai bagian dari
definisi jenis target kustom. YAML berikut menunjukkan stanza task yang digunakan
dalam kedua kasus:
task:
type: container
image: IMAGE
command: [COMMANDS_TO_RUN]
args: [LIST_OF_ARGS]
env:
- KEY1:VAL1
- KEY2:VAL2
...
Untuk konfigurasi task:
typeMenentukan jenis tugas yang dikonfigurasi. Hanya
containeryang didukung.imageAdalah jalur ke image container.
commandAdalah perintah yang akan dijalankan di container.
argsAdalah kumpulan argumen ke
command.envAdalah kumpulan variabel lingkungan yang akan diberikan ke container yang sedang berjalan.
Parameter Sistem sebagai variabel lingkungan tugas
Cloud Deploy menawarkan parameter yang dibuat sistem yang dapat Anda gunakan sebagai
variabel lingkungan dalam tugas Anda, menggunakan kolom env dalam tugas
container. Parameter yang dibuat dengan template dapat ada di kolom kunci atau nilai entri peta env.
Berikut adalah beberapa contoh kasus penggunaan:
Meneruskan nama layanan Cloud Run, URL layanan, dan nama revisi sebagai variabel lingkungan.
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 }}"Menggunakan beberapa parameter dalam satu entri.
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 }}"
Parameter sistem yang tersedia
Cloud Deploy menyediakan parameter sistem berikut yang dapat Anda gunakan dalam konfigurasi tugas menggunakan format ini:
${{ parameter }}
$${{ }}.
Berikut adalah daftar parameter yang tersedia untuk pembuatan template:
| Nama | Definisi |
|---|---|
location |
Region yang berisi resource Cloud Deploy. Tersedia saat pembuatan rilis. |
project.num |
Nomor project Google Cloud untuk project yang berisi
resource Cloud Deploy. Tersedia saat pembuatan rilis. |
project.id |
Project ID Google Cloud untuk project. Tersedia saat pembuatan rilis. |
delivery_pipeline.name |
Nama resource yang ditentukan sepenuhnya dari pipeline pengiriman. Tersedia saat pembuatan rilis. |
delivery_pipeline.id |
ID pipeline pengiriman. Tersedia saat pembuatan rilis. |
target.name |
Nama resource yang ditentukan sepenuhnya dari target. Tersedia saat pembuatan rilis. |
target.id |
ID target. Tersedia saat pembuatan rilis. |
release.name |
Nama resource rilis yang ditentukan sepenuhnya. Tersedia saat pembuatan rilis. |
release.id |
ID rilis. Tersedia saat pembuatan rilis. |
rollout.name |
Nama resource peluncuran yang ditentukan sepenuhnya. Tersedia saat pembuatan peluncuran. |
rollout.id |
ID peluncuran. Tersedia saat pembuatan peluncuran. |
job.id |
ID tugas yang sedang dieksekusi. Tersedia saat pembuatan peluncuran. |
phase.id |
Fase
dalam peluncuran yang berisi tugas untuk tugas. Tersedia saat pembuatan peluncuran. |
job_run.name |
Nama resource yang sepenuhnya ditentukan dari
job run
yang merepresentasikan eksekusi tugas saat ini. Tersedia saat pembuatan peluncuran. |
job_run.id |
ID
tugas
berjalan yang merepresentasikan eksekusi tugas saat ini. Tersedia saat pembuatan peluncuran. |
deploy_params |
Peta parameter deployment
yang terkait dengan target. Contoh: deploy_params['KEY']
Mencoba mengakses kunci yang tidak ada akan menghasilkan string kosong. Tersedia saat pembuatan rilis. |
Untuk target berjenis RUN: |
|
cloud_run.project |
Project tempat layanan Cloud Run dibuat. Tersedia saat pembuatan rilis. |
cloud_run.location |
Region tempat layanan Cloud Run di-deploy. Tersedia saat pembuatan rilis. |
render.metadata.cloud_run.service.name |
Nama layanan Cloud Run yang di-deploy. Tersedia setelah operasi rendering selesai. |
render.metadata.cloud_run.service.id |
ID layanan Cloud Run yang di-deploy. Tersedia setelah operasi rendering selesai. |
rollout.metadata.cloud_run.service.url |
URL yang akan digunakan pengguna akhir untuk mengakses layanan Anda. Anda dapat menemukannya di detail layanan Cloud Run untuk layanan Anda, di konsol. Google Cloud Tersedia setelah operasi deployment selesai. |
render.metadata.cloud_run.revision.name |
Nama lengkap revisi layanan Cloud Run yang
sedang di-deploy. Tersedia setelah operasi rendering selesai. |
render.metadata.cloud_run.revision.id |
ID revisi layanan Cloud Run yang di-deploy. Tersedia setelah operasi rendering selesai. |
rollout.metadata.cloud_run.previous_revision.name |
Nama lengkap revisi sebelumnya dari layanan Cloud Run yang di-deploy. Tersedia setelah operasi deployment selesai. |
rollout.metadata.cloud_run.previous_revision.id |
ID revisi sebelumnya dari layanan Cloud Run yang sedang
di-deploy. Tersedia setelah operasi deployment selesai. |
Untuk target jenis GKE: |
|
gke.cluster.name |
Nama resource cluster GKE yang ditentukan sepenuhnya. Tersedia saat pembuatan rilis. |
gke.cluster.id |
ID cluster GKE. Tersedia saat pembuatan rilis. |
gke.cluster.project |
ID/nomor project cluster GKE. Tersedia saat pembuatan rilis. |
gke.cluster.location |
Lokasi cluster GKE. Tersedia saat pembuatan rilis. |
Untuk target jenis ANTHOS: |
|
anthos.membership.project |
ID/nomor project cluster GKE Enterprise. Tersedia saat pembuatan rilis. |
anthos.membership.location |
Lokasi cluster GKE Enterprise. Tersedia saat pembuatan rilis. |
anthos.membership.name |
Nama resource yang ditentukan sepenuhnya dari keanggotaan GKE Enterprise. Tersedia saat pembuatan rilis. |
anthos.membership.id |
ID keanggotaan GKE Enterprise. Tersedia saat pembuatan rilis. |
Untuk target Kubernetes (target jenis
GKE dan ANTHOS): |
|
render.metadata.kubernetes.deployment |
Nama deployment yang sedang diperbarui. Ini tidak disetel jika ada lebih dari satu deployment dalam manifes. Tersedia setelah operasi rendering selesai. |
render.metadata.kubernetes.canary_deployment |
Nama deployment canary dalam canary otomatis. Untuk
fase stabil, ini sama dengan
render.metadata.kubernetes.deployment, karena tidak ada
canary dalam fase stabil. Untuk fase lainnya, ini sama dengan
render.metadata.kubernetes.deployment dengan
-canary di bagian akhir.Tersedia setelah operasi rendering selesai. |
render.metadata.kubernetes.namespace |
Namespace resource yang di-deploy. Ini tidak ditetapkan jika ada lebih dari satu namespace dalam manifes. Tersedia setelah operasi rendering selesai. |
Untuk target jenis CUSTOM_TARGET_TYPE: |
|
render.metadata.custom |
Peta metadata render dari render kustom. Contoh: render.metadata.custom['KEY']Mencoba mengakses kunci yang tidak ada akan menghasilkan string kosong. Tersedia setelah operasi rendering selesai. |
rollout.metadata.custom |
Peta metadata peluncuran dari deployment kustom. Contoh: rollout.metadata.custom['KEY']Mencoba mengakses kunci yang tidak ada akan menghasilkan string kosong. Tersedia setelah operasi deployment selesai. |
Variabel lingkungan yang tersedia
Cloud Deploy juga menyediakan dan mengisi variabel lingkungan berikut di lingkungan eksekusi. Anda dapat menggunakan variabel lingkungan ini sebagai bagian dari hook deployment, tugas verifikasi, atau target kustom render atau deployment.
ANTHOS_MEMBERSHIPUntuk target jenis
ANTHOS, nama resource yang sepenuhnya ditentukan dari keanggotaan Anthos.CLOUD_RUN_LOCATIONUntuk target jenis
RUN, region tempat layanan Cloud Run di-deploy.CLOUD_RUN_PROJECTUntuk target berjenis
RUN, project tempat layanan Cloud Run dibuat.CLOUD_RUN_SERVICEUntuk target jenis
RUN, nama layanan Cloud Run yang di-deploy.CLOUD_RUN_SERVICE_URLSUntuk target jenis
RUN, URL atau URL (daftar yang dipisahkan koma) yang akan digunakan pengguna akhir untuk mengakses layanan Anda. Anda dapat menemukannya di detail layanan Cloud Run untuk layanan Anda, di konsol Google Cloud . URL dibuat oleh Cloud Run setelah Layanan Cloud Run Anda berhasil di-deploy. Oleh karena itu, variabel lingkungan ini hanya tersedia di hook pasca-deployment dan verifikasi tugas.CLOUD_RUN_REVISIONUntuk target jenis
RUN, revisi spesifik layanan Cloud Run.GKE_CLUSTERUntuk target jenis
GKE, nama resource yang sepenuhnya ditentukan dari cluster Google Kubernetes Engine, misalnyaprojects/p/locations/us-central1/clusters/dev.TARGET_TYPEJenis runtime spesifik target.
GKE,ANTHOS, atauRUN. Untuk target kustom, kolom ini tidak akan ditetapkan.CLOUD_DEPLOY_LOCATIONRegion yang berisi resource Cloud Deploy.
CLOUD_DEPLOY_DELIVERY_PIPELINEID pipeline pengiriman.
CLOUD_DEPLOY_TARGETID target.
CLOUD_DEPLOY_PROJECTNomor project Google Cloud untuk project yang berisi resource Cloud Deploy.
CLOUD_DEPLOY_PROJECT_IDProject ID Google Cloud untuk project.
CLOUD_DEPLOY_RELEASEID rilis tempat hook akan berjalan.
CLOUD_DEPLOY_ROLLOUTID peluncuran yang berisi tugas untuk hook.
CLOUD_DEPLOY_JOB_RUNID operasi tugas yang merepresentasikan eksekusi tugas saat ini.
CLOUD_DEPLOY_PHASEFase dalam peluncuran yang berisi tugas untuk hook deployment, tugas verifikasi, atau render atau deployment kustom.
Langkah berikutnya
- Pelajari cara menjalankan hook deployment menggunakan tugas
- Pelajari cara memverifikasi deployment Anda menggunakan tugas
- Pelajari target kustom