Dokumen ini menjelaskan cara kerja target kustom di Cloud Deploy.
Cloud Deploy menyertakan dukungan bawaan untuk berbagai lingkungan runtime sebagai target. Namun, daftar jenis target yang didukung bersifat terbatas. Dengan target kustom, Anda dapat men-deploy ke sistem lain selain runtime yang didukung.
Target kustom adalah target yang merepresentasikan lingkungan output arbitrer selain runtime yang didukung Cloud Deploy.
Halaman Membuat target kustom menjelaskan proses menentukan jenis target kustom dan menerapkannya sebagai target dalam pipeline penayangan.
Apa yang termasuk dalam target kustom?
Setiap target kustom terdiri dari komponen berikut:
Tugas, yang menentukan cara merender dan men-deploy untuk jenis target kustom Anda
Penerapan render kustom dan deployment kustom Anda menggunakan nilai yang disediakan oleh Cloud Deploy dan harus memenuhi kumpulan output yang diperlukan.
Render kustom bersifat opsional, tetapi Anda harus membuatnya kecuali jika target kustom Anda akan berfungsi dengan benar jika dirender dengan perender bawaan Cloud Deploy.
-
CustomTargetTypeadalah resource Cloud Deploy yang mengidentifikasi tugas yang digunakan target jenis ini untuk aktivitas rendering rilis dan deployment peluncuran. -
Definisi target untuk target kustom sama dengan jenis target lainnya, kecuali mencakup properti
customTarget, yang nilainya adalah namaCustomTargetType.
Setelah komponen tersebut tersedia, Anda dapat menggunakan target seperti target lainnya, mereferensikannya dari progres pipeline pengiriman, dan memanfaatkan sepenuhnya fitur Cloud Deploy, seperti promosi dan persetujuan, serta rollback.
Misalnya
Panduan memulai Menentukan dan menggunakan jenis target kustom membuat jenis target kustom yang menyertakan perintah untuk dijalankan pada image penampung—satu perintah untuk merender dan satu untuk men-deploy. Perintah, dalam hal ini, hanya menambahkan teks ke file output yang diperlukan untuk rendering dan deployment.
Untuk contoh lainnya, lihat Contoh target kustom.
Input dan output yang diperlukan
Jenis target kustom yang ditentukan untuk Cloud Deploy harus memenuhi persyaratan input dan output, baik untuk rendering maupun deployment. Bagian ini mencantumkan input dan output yang diperlukan, serta cara penyediaannya.
Cloud Deploy menyediakan input yang diperlukan, baik untuk rendering maupun deployment, sebagai variabel lingkungan. Bagian berikut mencantumkan input ini, serta output yang harus ditampilkan oleh render dan deployment kustom Anda.
Men-deploy parameter sebagai variabel lingkungan
Selain variabel lingkungan yang tercantum di bagian ini, Cloud Deploy dapat meneruskan parameter deployment yang telah Anda tetapkan ke container kustom Anda.
Input untuk render kustom
Untuk render kustom, Cloud Deploy menyediakan input berikut, sebagai variabel lingkungan. Untuk peluncuran multi-fase (deployment canary), Cloud Deploy menyediakan variabel ini untuk setiap fase.
CLOUD_DEPLOY_PROJECTNomor project Google Cloud untuk project tempat target kustom dibuat.
CLOUD_DEPLOY_PROJECT_IDProject ID Google Cloud untuk project.
CLOUD_DEPLOY_LOCATIONRegion Google Cloud untuk jenis target kustom.
CLOUD_DEPLOY_DELIVERY_PIPELINENama pipeline pengiriman Cloud Deploy yang mereferensikan jenis target kustom.
CLOUD_DEPLOY_RELEASENama rilis yang operasi renderingnya dipanggil.
CLOUD_DEPLOY_TARGETNama target Cloud Deploy yang menggunakan jenis target kustom.
CLOUD_DEPLOY_PHASEFase peluncuran yang sesuai dengan rendering.
CLOUD_DEPLOY_REQUEST_TYPEUntuk rendering kustom, nilai ini selalu
RENDER.CLOUD_DEPLOY_FEATURESDaftar fitur Cloud Deploy yang dipisahkan koma yang harus didukung oleh penampung kustom. Variabel ini diisi berdasarkan fitur yang dikonfigurasi di pipeline pengiriman Anda.
Jika penerapan Anda tidak mendukung fitur dalam daftar ini, sebaiknya penerapan tersebut gagal selama rendering.
Untuk deployment standar, kolom ini kosong. Untuk deployment uji coba, nilainya adalah
CANARY. Jika nilai yang diberikan oleh Cloud Deploy adalahCANARY, rendering Anda akan dipanggil untuk setiap fase dalam canary. Persentase canary untuk setiap fase disediakan dalam variabel lingkunganCLOUD_DEPLOY_PERCENTAGE_DEPLOY.CLOUD_DEPLOY_PERCENTAGE_DEPLOYPersentase deployment yang terkait dengan operasi rendering ini. Jika variabel lingkungan
CLOUD_DEPLOY_FEATURESdisetel keCANARY, render kustom Anda dipanggil untuk setiap fase, dan variabel ini disetel ke persentase canary untuk setiap fase. Untuk deployment standar dan untuk deployment canary yang telah mencapai fasestable, nilainya adalah100.CLOUD_DEPLOY_STORAGE_TYPEPenyedia penyimpanan. Selalu
GCS.CLOUD_DEPLOY_INPUT_GCS_PATHJalur Cloud Storage untuk arsip file render yang ditulis saat rilis dibuat.
CLOUD_DEPLOY_OUTPUT_GCS_PATHJalur Cloud Storage tempat container render kustom diharapkan mengupload artefak yang akan digunakan untuk deployment. Perhatikan bahwa render harus mengupload file bernama
results.jsonyang berisi hasil operasi render ini. Untuk mengetahui informasi selengkapnya, lihat Output dari render kustom.
Output dari render kustom
Render kustom Anda harus memberikan informasi yang dijelaskan di bagian ini. Informasi tersebut harus disertakan dalam file hasil, yang diberi nama results.json, yang berada di bucket Cloud Storage yang disediakan oleh Cloud Deploy (CLOUD_DEPLOY_OUTPUT_GCS_PATH).
File konfigurasi yang dirender
File
results.json, yang berisi informasi berikut:Indikasi status berhasil atau gagalnya render kustom.
Nilai yang valid adalah
SUCCEEDEDdanFAILED.(Opsional) pesan error yang dihasilkan oleh render kustom.
Jalur Cloud Storage untuk file konfigurasi atau file yang dirender.
Jalur untuk semua file konfigurasi yang dirender adalah URI lengkap. Anda mengisinya sebagian menggunakan nilai
CLOUD_DEPLOY_OUTPUT_GCS_PATHyang diberikan oleh Cloud Deploy.Anda harus memberikan file konfigurasi yang dirender, meskipun kosong. Isi file dapat berupa apa saja, dalam format apa pun, asalkan dapat digunakan oleh deployment kustom Anda. Sebaiknya file ini dapat dibaca oleh manusia, sehingga Anda dan pengguna lain di organisasi Anda dapat melihat file ini di