Cloud Deploy melakukan operasinya menggunakan image kustom, yang mencakup versi alat default. Cloud Deploy memberi Anda fleksibilitas dan kontrol atas proses deployment dengan memungkinkan Anda menentukan versi alat yang akan digunakan dalam operasi untuk merender, men-deploy, dan memverifikasi manifes.
Halaman ini menjelaskan cara versi alat Cloud Deploy dipilih serta waktu pemeliharaan dan dukungan untuk setiap versi alat.
Versi Alat Cloud Deploy yang Didukung
Cloud Deploy memungkinkan Anda memilih versi untuk alat berikut:
Cloud Deploy menyediakan repositori versi alat yang tersedia yang dapat Anda gunakan untuk operasi. Semua versi ini tunduk pada kebijakan pemeliharaan dan penghentian.
Versi alat default
Jika tidak ada versi alat yang ditentukan pengguna, versi alat default akan digunakan selama pembuatan rilis.
Image Cloud Deploy baru dirilis setiap minggu yang berisi versi alat terbaru yang tersedia pada saat image dibuat. Berdasarkan waktu jadwal rilis alat yang berbeda, versi alat baru mungkin memerlukan waktu hingga dua minggu untuk menjadi default.
Anda dapat melihat versi default dengan menjalankan perintah berikut:
gcloud deploy get-config \
--project=PROJECT \
--region=REGION \
--format 'yaml(defaultToolVersions)'
Pembuatan Versi Alat Tetap
Semua versi alat disimpan ke resource rilis secara default. Versi alat dikaitkan dengan rilis saat pembuatan rilis dan digunakan untuk seluruh siklus proses rilis tersebut, dan tidak dapat diubah selama masa aktif tersebut. Siklus proses rilis terdiri dari semua render, deployment, dan tugas lainnya pada rilis tersebut. Hal ini mencakup hingga deployment ke target akhir dalam progres, dan seterusnya (rollback atau deployment ulang). Anda dapat menemukan versi alat yang terkait dengan rilis dengan menjalankan perintah berikut:
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format='yaml(toolVersions)'
Rilis yang dibuat sebelum fitur pembuatan versi alat tidak akan memiliki toolVersions yang tercantum dalam output-nya. Sebagai gantinya, Anda dapat melihat versi Skaffold
dengan tanda --format 'yaml(skaffoldVersion)'.
Menonaktifkan pembuatan versi alat tetap
Jika ingin menonaktifkan pembuatan versi alat tetap dan menggunakan alat terbaru untuk rilis tertentu, Anda dapat melakukannya dengan menentukan kata kunci khusus latest untuk setiap alat. Berikut adalah contoh pembuatan rilis yang menggunakan versi terbaru untuk semua alat:
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--docker-version=latest \
--helm-version=latest \
--kpt-version=latest \
--kubectl-version=latest \
--kustomize-version=latest \
--skaffold-version=latest
Cara menentukan versi alat tertentu yang akan digunakan
Anda dapat menggunakan salah satu versi alat yang didukung. Untuk menentukan versi yang ingin Anda gunakan, sertakan tanda yang sesuai untuk alat tertentu:
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--docker-version=DOCKER_VERSION \
--helm-version=HELM_VERSION \
--kpt-version=KPT_VERSION \
--kubectl-version=KUBECTL_VERSION \
--kustomize-version=KUSTOMIZE_VERSION \
--skaffold-version=SKAFFOLD_VERSION
Untuk alat apa pun yang ingin Anda gunakan versi defaultnya, Anda dapat menghapus tanda versi yang sesuai.
Misalnya, perintah berikut menggunakan Skaffold 2.16.1 dan Helm 3.18.3:
gcloud deploy releases create release-001 \
--delivery-pipeline=PIPELINE_NAME \
--skaffold-version=2.16.1 \
--helm-version=3.18.3 \
--project=PROJECT \
--region=REGION
Kompatibilitas versi alat
Cloud Deploy bertanggung jawab untuk memastikan bahwa versi alat kompatibel pada image Cloud Deploy. Jika Anda menggunakan fitur penggantian versi alat untuk mengganti versi alat pada image Cloud Deploy, Anda bertanggung jawab untuk memilih versi alat yang kompatibel.
Kebijakan pemeliharaan dan penghentian versi alat
Versi alat didukung selama 12 bulan dengan periode pemeliharaan 60 hari, sejak hari versi alat diimpor. Periode pemeliharaan ini berarti rilis yang terkait dengan versi alat masih didukung selama 60 hari setelah dukungan untuk versi alat tersebut berakhir. Anda masih dapat membuat peluncuran dari rilis tersebut, tetapi Anda tidak dapat membuat rilis menggunakan versi alat yang berada dalam periode pemeliharaan.
Setelah periode pemeliharaan 60 hari, versi alat tidak lagi didukung untuk operasi apa pun. Anda tidak dapat lagi membuat peluncuran dari rilis yang menggunakan versi yang tidak didukung. Namun, semua data yang terkait dengan rilis akan tetap ada.
Anda dapat melihat tanggal pemeliharaan dan masa berlaku pada rilis dengan menjalankan perintah berikut:
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format 'yaml(condition)'
Anda juga dapat melihat tanggal pemeliharaan dan masa berlaku alat tertentu dengan menjalankan perintah:
gcloud artifacts versions list \
--package TOOL_NAME \
--repository tools \
--project cd-image-prod \
--location=REGION
Tanggal pemeliharaan dan masa berlaku tersedia sebagai anotasi pada versi masing-masing.
Versi Skaffold lama
Cloud Deploy dulu menyediakan daftar versi Skaffold tertentu yang didukung. Versi Skaffold ini sesuai dengan image Cloud Deploy yang dibuat dengan versi Skaffold dan alat lainnya. Versi Skaffold didukung selama 12 bulan, dengan periode pemeliharaan 60 hari.
Cloud Deploy beralih dari model ini untuk meningkatkan postur keamanan Cloud Deploy. Tanpa perlu menyediakan image yang sesuai dengan versi Skaffold tertentu, Cloud Deploy dapat mengatasi kerentanan dengan lebih cepat dan dapat memperbarui versi alat default lebih sering.
Versi Skaffold yang ada akan terus didukung hingga tanggal masa berlaku.
| Versi Skaffold | Tanggal mulai | Awal pemeliharaan | Masa berlaku |
|---|---|---|---|
| 2.16 (catatan rilis) | 12 Mei 2025 | 14 Mei 2026 | 13 Juli 2026 |
Anda dapat terus membuat rilis yang menggunakan versi Skaffold tertentu ini dengan menggunakan tanda --skaffold-version dalam perintah berikut:
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--skaffold-version=SKAFFOLD_VERSION \
--project=PROJECT \
--region=REGION