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 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_MEMBERSHIP

    Untuk target jenis ANTHOS, nama resource yang sepenuhnya ditentukan dari keanggotaan Anthos.

  • CLOUD_RUN_LOCATION

    Untuk target jenis RUN, region tempat layanan Cloud Run di-deploy.

  • CLOUD_RUN_PROJECT

    Untuk target berjenis RUN, project tempat layanan Cloud Run dibuat.

  • CLOUD_RUN_SERVICE

    Untuk target jenis RUN, nama layanan Cloud Run yang di-deploy.

  • CLOUD_RUN_SERVICE_URLS

    Untuk 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_REVISION

    Untuk target jenis RUN, revisi spesifik layanan Cloud Run.

  • GKE_CLUSTER

    Untuk target jenis GKE, nama resource yang sepenuhnya ditentukan dari cluster Google Kubernetes Engine, misalnya projects/p/locations/us-central1/clusters/dev.

  • TARGET_TYPE

    Jenis runtime spesifik target. GKE, ANTHOS, atau RUN. Untuk target kustom, kolom ini tidak akan ditetapkan.

  • CLOUD_DEPLOY_LOCATION

    Region yang berisi resource Cloud Deploy.

  • CLOUD_DEPLOY_DELIVERY_PIPELINE

    ID pipeline pengiriman.

  • CLOUD_DEPLOY_TARGET

    ID target.

  • CLOUD_DEPLOY_PROJECT

    Nomor project Google Cloud untuk project yang berisi resource Cloud Deploy.

  • CLOUD_DEPLOY_PROJECT_ID

    Project ID Google Cloud untuk project.

  • CLOUD_DEPLOY_RELEASE

    ID rilis tempat hook akan berjalan.

  • CLOUD_DEPLOY_ROLLOUT

    ID peluncuran yang berisi tugas untuk hook.

  • CLOUD_DEPLOY_JOB_RUN

    ID operasi tugas yang merepresentasikan eksekusi tugas saat ini.

  • CLOUD_DEPLOY_PHASE

    Fase dalam peluncuran yang berisi tugas untuk hook deployment, tugas verifikasi, atau render atau deployment kustom.

Langkah berikutnya