Mengonfigurasi tugas

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:

  • type

    Menentukan jenis tugas yang dikonfigurasi. Hanya container yang didukung.

  • image

    Adalah jalur ke image container.

  • command

    Adalah perintah yang akan dijalankan di container.

  • args

    Adalah kumpulan argumen ke command.

  • env

    Adalah 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