Memverifikasi deployment Anda

Dokumen ini menjelaskan cara memverifikasi deployment Cloud Deploy.

Anda dapat mengonfigurasi Cloud Deploy untuk memverifikasi bahwa aplikasi yang telah Anda deploy ke target mana pun berfungsi dengan benar. Verifikasi dilakukan menggunakan image pengujian Anda sendiri, dan Anda mengonfigurasi Cloud Deploy untuk menjalankan pengujian tersebut setelah deployment selesai.

Bagaimana cara kerja verifikasi deployment?

  1. Anda mengonfigurasi satu atau beberapa target di pipeline penayangan untuk verifikasi deployment dengan menentukan tugas yang akan dijalankan.

  2. Setelah aplikasi di-deploy, Cloud Deploy menjalankan tugas verifikasi di lingkungan eksekusi Cloud Deploy.

    Keberhasilan atau kegagalan pengujian yang dijalankan menunjukkan keberhasilan atau kegagalan verifikasi:

    • Keberhasilan verifikasi ditentukan oleh kode keluar yang dihasilkan oleh container.

      0 menunjukkan keberhasilan. Kode keluar bukan nol menunjukkan kegagalan. Untuk menghasilkan hasil verifikasi yang diharapkan, pastikan penampung keluar dengan kode keluar yang sesuai. Jika lebih dari satu penampung dieksekusi sebagai bagian dari verifikasi, semuanya harus berhasil agar verifikasi berhasil.

    • Jika verifikasi gagal, peluncuran juga akan gagal.

    • Jika deployment gagal selama verifikasi, Anda dapat melihatnya dengan memeriksa peluncuran:

      Detail di konsol Google Cloud untuk peluncuran, termasuk status verifikasi

  3. Anda dapat mengabaikan atau mencoba lagi verifikasi yang gagal.

    Anda juga dapat menghentikan tugas verifikasi yang sedang berlangsung.

Komponen yang digunakan untuk verifikasi

Resource rollout mencakup objek berikut, yang mendukung verifikasi deployment:

  • Fase

    Kumpulan operasi (tugas) dalam peluncuran yang dikelompokkan secara logis, misalnya, deployment atau deployment dan verifikasi.

  • Tugas

    Operasi spesifik yang akan dilakukan pada peluncuran, seperti men-deploy atau memverifikasi.

  • Menjalankan tugas

    Turunan resource peluncuran, yaitu eksekusi tugas adalah instance tugas, misalnya upaya untuk men-deploy.

Untuk mengetahui informasi selengkapnya tentang resource Cloud Deploy, lihat Arsitektur layanan Cloud Deploy

Mengonfigurasi Cloud Deploy untuk verifikasi deployment

Mengaktifkan verifikasi deployment untuk target Cloud Deploy terdiri dari menambahkan stanza verify ke target tertentu (atau beberapa target) dalam progres pipeline pengiriman, seperti yang ditunjukkan dalam contoh ini:

apiVersion: deploy.cloud.google.com/v1
kind: DeliveryPipeline
metadata:
 name: my-demo-app
description: main application pipeline
serialPipeline:
 stages:
 - targetId: dev
   profiles: []
   strategy:
     standard:
       verify:
         tasks:
         - type: container
           image: "VERIFY_IMAGE"
           command: [COMMANDS_TO_RUN]
           args: [LIST_OF_ARGS]
           env: {VERIFY_TASK_ENV_MAP}

Dalam YAML ini:

  • VERIFY_IMAGE

    Adalah nama image yang ingin Anda jalankan untuk tugas verifikasi. Misalnya, us-central1-docker.pkg.dev/gcp-project-id-12345/my-repository/my-app:v1.2 untuk image Artifact Registry.

  • COMMANDS_TO_RUN

    Adalah daftar titik entri yang akan dijalankan di penampung tersebut. "/bin/sh" adalah perintah umum yang dapat ditentukan di sini, untuk memanggil shell.

  • LIST_OF_ARGS

    Adalah daftar argumen yang akan diberikan ke perintah. Ini adalah daftar yang dipisahkan koma, dengan setiap argumen dalam tanda kutip. Jika COMMAND_TO_RUN adalah "/bin/sh", maka salah satu argumen di sini adalah "-c", dan argumen lainnya adalah seluruh perintah yang ingin Anda jalankan di shell yang Anda panggil.

    Berikut contohnya:

    command: ["/bin/sh"]
    args: ["-c", `echo "This command ran!"`]
    
  • VERIFY_TASK_ENV_MAP

    Adalah peta variabel lingkungan yang diteruskan ke dalam container, dalam format KEY:VAL.

Operasi verifikasi dieksekusi dalam lingkungan eksekusinya sendiri. Lingkungan eksekusi ini dapat dikonfigurasi untuk VERIFY sama seperti untuk RENDER dan DEPLOY.

Menjalankan verifikasi di cluster aplikasi

Secara default, verifikasi deployment berjalan di lingkungan eksekusi Cloud Deploy. Anda juga dapat mengonfigurasi Skaffold untuk menjalankan verifikasi di cluster yang sama tempat aplikasi Anda berjalan.

Untuk menjalankan penampung verifikasi di cluster, Anda harus mengonfigurasi penampung verifikasi di bagian stanza verify dalam skaffold.yaml. Untuk setiap penampung yang ditentukan, Anda juga harus menetapkan executionMode.kubernetesCluster.

verify:
- name:
  container:
    name:
    image:
    command:
    args:
  executionMode:
    kubernetesCluster:

Berikut adalah contoh stanza verifikasi yang menyertakan executionMode untuk memanggil penampung verifikasi di cluster aplikasi:

verify:
- name: integration-test-container
  container:
    name: integration-test-container