Panduan ini membantu Anda memahami cara membuat, mengelola, dan menghapus grup deployment.
Grup deployment adalah kumpulan deployment yang disusun dalam grafik asiklik terarah. Gunakan grup deployment untuk mengelola deployment terkait sebagai satu resource logis. Anda dapat menerapkan deployment dalam urutan topologi, atau menghapusnya dalam urutan topologi terbalik.
Sebelum memulai
- Pastikan Infra Manager diaktifkan, dan Google Cloud CLI diinstal serta diinisialisasi.
- Pastikan Anda memiliki peran Identity and Access Management Config Admin (
roles/config.admin). Pastikan project Anda memiliki deployment yang ada, atau buat deployment. Untuk membuat deployment pengujian guna membuat grup deployment, jalankan perintah berikut:
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/NEW_DEPLOYMENT_ID \ --service-account=SERVICE_ACCOUNT \ --git-source-repo="https://github.com/terraform-google-modules/terraform-google-network" \ --git-source-directory="examples/simple_project_with_regional_network" \ --git-source-ref="v6.0.1" \ --input-values=network_name=test-network,project_id=PROJECT_ID \ --import-existing-resourcesGanti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi deployment
yang perlu Anda buat untuk membuat grup deployment. Google Cloud Misalnya,
us-central1. - NEW_DEPLOYMENT_ID: ID a
deployment. Anda memerlukan deployment yang ada untuk membuat grup deployment.
Ganti
EXISTING_DEPLOYMENT_IDdenganNEW_DEPLOYMENT_IDdi bagian berikut. - SERVICE_ACCOUNT: ID akun layanan yang Anda gunakan untuk membuat deployment.
Membuat grup deployment
Grup deployment adalah kumpulan deployment yang dikelola Infra Manager sebagai satu unit logis.
Saat Anda membuat grup deployment, setiap deployment yang Anda tambahkan ke grup adalah unit deployment.
Untuk membuat grup deployment, gunakan REST API sebagai berikut:
Kirim permintaan
POSTke endpointdeploymentGroups:curl \ -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/deploymentGroups/?deployment_group_id=DEPLOYMENT_GROUP_ID" \ --data '{ "deploymentUnits": [ { "id": "DEPLOYMENT_UNIT_ID_1", "deployment": "projects/PROJECT_ID/locations/LOCATION/deployments/EXISTING_DEPLOYMENT_ID" }, { "id": "DEPLOYMENT_UNIT_ID_2", "dependencies": ["DEPENDENT_UNIT_ID"] } ] }'Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud Misalnya,
us-central1. - DEPLOYMENT_GROUP_ID: ID grup deployment yang ingin Anda buat.
- DEPLOYMENT_UNIT_ID_1: ID unit deployment yang akan ditambahkan ke grup deployment.
- EXISTING_DEPLOYMENT_ID: ID deployment yang ada yang Anda gunakan untuk membuat unit deployment dari grup deployment.
- DEPLOYMENT_UNIT_ID_2: ID unit deployment kedua yang akan ditambahkan ke grup deployment. Anda dapat menambahkan definisi untuk setiap unit deployment yang ingin ditambahkan ke grup deployment.
- Opsional: DEPENDENT_UNIT_ID: ID unit deployment yang berfungsi sebagai dependensi. Dependensi ini harus disediakan sebelum unit yang ditentukan, dan dihentikan penyediaannya setelah unit tersebut.
Kirim permintaan
GETke endpointdeploymentGroup:curl \ -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID"Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud Misalnya,
us-central1. - DEPLOYMENT_GROUP_ID: ID grup deployment baru.
Menyediakan grup deployment
Untuk menerapkan deployment yang direferensikan dalam grup deployment, Anda harus menyediakan grup tersebut. Penyediaan menerapkan deployment dalam urutan yang ditentukan oleh struktur deploymentUnits. Jika Anda perlu membuat atau memperbarui deployment selama proses ini, Anda dapat memberikan definisinya dalam objek deploymentSpecs dari permintaan penyediaan Anda.
Untuk menyediakan grup deployment, gunakan REST API sebagai berikut:
Kirim permintaan
POSTke endpointprovision:curl \ -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID:provision" \ --data '{ "deploymentSpecs": { "DEPLOYMENT_UNIT_ID_2": { "deploymentId": "DEPLOYMENT_ID_2", "deployment": { "terraformBlueprint": { "gitSource": { "directory": "examples/simple_project_with_regional_network", "ref": "v6.0.1", "repo": "https://github.com/terraform-google-modules/terraform-google-network" }, "inputValues": { "network_name": { "inputValue": "test-network" } }, "externalValues": { "project_id": { "deploymentSource": { "deployment": "projects/PROJECT_ID/locations/LOCATION/deployments/EXISTING_DEPLOYMENT_ID", "outputName": "project_id" } } } }, "serviceAccount": "SERVICE_ACCOUNT", "importExistingResources": true } } } }'Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud Misalnya,
us-central1. - DEPLOYMENT_GROUP_ID: ID grup deployment baru.
- DEPLOYMENT_UNIT_ID_2: ID unit deployment kedua yang akan ditambahkan ke grup deployment. Anda dapat menambahkan definisi untuk setiap unit deployment yang ingin ditambahkan ke grup deployment.
- DEPLOYMENT_ID_2: ID string unit deployment kedua yang akan ditambahkan ke grup deployment.
- EXISTING_DEPLOYMENT_ID: ID deployment yang ada.
- SERVICE_ACCOUNT: ID string akun layanan yang Anda gunakan untuk menyediakan grup deployment.
Untuk mengirim permintaan
GETke endpoint operasi, gunakan REST API sebagai berikut:curl \ -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud Misalnya,
us-central1. - OPERATION_ID: ID operasi yang Anda
ingin kueri. Misalnya,
operation-1000000000000-64d67ecd2868c-caa044f9-6b48677e
Infra Manager menggunakan operasi yang berjalan lama (LRO) untuk menampilkan progres penyediaan. Respons yang berhasil menunjukkan bahwa penyediaan telah selesai:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OP_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.config.v1.OperationMetadata", "createTime": "2026-02-24T01:27:57.045161236Z", "target": "projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1", "provisionDeploymentGroupMetadata": { "step": "PROVISIONING_DEPLOYMENT_UNITS", "deploymentUnitProgresses": [ { "unitId": "DEPLOYMENT_UNIT_ID_1", "deployment": "projects/PROJECT_ID/locations/LOCATION/deployments/EXISTING_DEPLOYMENT_ID", "state": "APPLYING_DEPLOYMENT", "intent": "UPDATE_DEPLOYMENT", "deploymentOperationSummary": { "build": "56c739c7-cf42-457c-a889-0e0c139cf7b3", "logs": "gs://path/to/log", "content": "gs://path/to/content", "artifacts": "gs://path/to/artifacts" } }, { "unitId": "DEPLOYMENT_UNIT_ID_2", "state": "QUEUED", "intent": "CREATE_DEPLOYMENT" } ] } } }Dengan:
- OP_ID: ID operasi. Dibuat oleh Infra Manager.
- EXISTING_DEPLOYMENT_ID: ID deployment yang akan disediakan
Infra Manager sebelum
DEPLOYMENT_UNIT_ID_1.
Mencantumkan revisi grup deployment
Infra Manager membuat revisi grup deployment setelah operasi provision
atau deprovision selesai.
Untuk mencantumkan revisi grup deployment, gunakan REST API sebagai berikut:
Kirim permintaan
GETke endpointrevisions:curl \ -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID/revisions"Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud Misalnya,
us-central1. - DEPLOYMENT_GROUP_ID: ID grup deployment yang revisinya ingin Anda cantumkan.
Memperbarui grup deployment
Untuk memperbarui grup deployment, ubah definisi grup deployment Anda. Anda dapat menyediakan definisi yang diperbarui secara opsional ke grup deployment.
Untuk memperbarui grup deployment, gunakan REST API sebagai berikut:
Kirim permintaan
PATCHke endpointdeploymentGroups:curl \ -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID" \ --data '{ "deploymentUnits": [ { "id": "DEPLOYMENT_UNIT_ID_3" } ] }'Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud Misalnya,
us-central1. - DEPLOYMENT_GROUP_ID: ID grup deployment yang ingin Anda perbarui.
- DEPLOYMENT_UNIT_ID_3: ID deployment yang akan diperbarui.
Opsional: Sediakan grup deployment yang diperbarui. Kirim permintaan
POSTke endpointprovision:curl \ -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID:provision" \ --data '{ "deploymentSpecs": { "DEPLOYMENT_UNIT_ID_3": { "deploymentId": "EXISTING_DEPLOYMENT_ID", "deployment": { "terraformBlueprint": { "gitSource": { "directory": "examples/simple_project_with_regional_network", "ref": "v6.0.1", "repo": "https://github.com/terraform-google-modules/terraform-google-network" }, "inputValues": { "network_name": { "inputValue": "test-network" }, "project_id": { "inputValue": "PROJECT_ID" } } }, "serviceAccount": "SERVICE_ACCOUNT", "importExistingResources": true } } } }'Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud Misalnya,
us-central1. - DEPLOYMENT_GROUP_ID: ID grup deployment yang ingin Anda perbarui.
- DEPLOYMENT_UNIT_ID_3: ID unit deployment ketiga yang akan ditambahkan ke grup deployment.
- EXISTING_DEPLOYMENT_ID: ID deployment yang ada.
- SERVICE_ACCOUNT: ID string akun layanan yang Anda gunakan untuk memperbarui grup deployment.
Saat Anda menyediakan grup deployment, perubahan berdasarkan revisi terakhir yang berhasil diterapkan ke deployment dalam grup deployment.
Jika Anda menghapus deployment dari definisi grup deployment, lalu menyediakan, deployment yang dihapus akan dihapus beserta resource-nya.
Respons yang berhasil menunjukkan bahwa penyediaan telah selesai.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OP_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.config.v1.OperationMetadata", "createTime": "2026-02-26T20:03:26.580085899Z", "target": "projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1", "provisionDeploymentGroupMetadata": { "step": "PROVISIONING_DEPLOYMENT_UNITS", "deploymentUnitProgresses": [ { "unitId": "revisions/REVISION_ID/deploymentUnits/DEPLOYMENT_UNIT_ID_2", "deployment": "projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID_2", "state": "DELETING_DEPLOYMENT", "intent": "CLEAN_UP", "deploymentOperationSummary": { "deploymentStep": "VALIDATING_REPOSITORY" } }, { "unitId": "revisions/REVISION_ID/deploymentUnits/DEPLOYMENT_UNIT_ID_1", "deployment": "projects/PROJECT_ID/locations/LOCATION/deployments/NEW_DEPLOYMENT_NAME", "state": "QUEUED", "intent": "CLEAN_UP" }, { "unitId": "DEPLOYMENT_UNIT_ID_3", "state": "QUEUED", "intent": "RECREATE_DEPLOYMENT" } ] } }, "done": false }Dengan:
- OP_ID: mewakili ID operasi. Dibuat oleh Infra Manager.
- REVISION_ID: mewakili ID revisi. Dibuat oleh Infra Manager.
Menghentikan penyediaan grup deployment
Hentikan penyediaan grup deployment untuk menghapus semua deployment yang direferensikan, dan deployment apa pun yang merupakan bagian dari revisi terakhir yang berhasil (tetapi telah dihapus sejak saat itu).
Untuk menghentikan penyediaan grup deployment, gunakan REST API sebagai berikut:
Kirim permintaan
POSTke endpointdeprovision:curl \ -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID:deprovision" \ --data '{ "deletePolicy": "DELETE", "force": true }'Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud
Misalnya,
us-central1. - DEPLOYMENT_GROUP_ID: ID grup deployment yang penyediaannya ingin Anda hentikan.
Respons yang berhasil menunjukkan bahwa penghentian penyediaan telah selesai.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OP_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.config.v1.OperationMetadata", "createTime": "2026-02-26T20:12:46.929574561Z", "endTime": "2026-02-26T20:14:04.390333218Z", "target": "projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1", "provisionDeploymentGroupMetadata": { "step": "SUCCEEDED", "deploymentUnitProgresses": [ { "unitId": "DEPLOYMENT_UNIT_ID", "deployment": "projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_NAME_3", "state": "SUCCEEDED", "deploymentOperationSummary": { "deploymentStep": "SUCCEEDED" } } ] } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.config.v1.DeploymentGroup", "name": "projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID", "createTime": "2026-02-24T01:21:14.001716666Z", "updateTime": "2026-02-26T20:12:46.931142650Z", "state": "ACTIVE", "deploymentUnits": [ { "id": "DEPLOYMENT_UNIT_ID_3" } ], "provisioningState": "DEPROVISIONED" } }
Menghapus grup deployment
Setelah Anda menghentikan penyediaan grup deployment, metadatanya akan tetap ada. Untuk menghapus metadata, Anda harus menghapus grup deployment.
Untuk menghapus grup deployment, gunakan REST API sebagai berikut:
Kirim permintaan
DELETEke endpointdeploymentGroups. Tetapkanforceketruejika revisi ada.curl \ -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/deploymentGroups/DEPLOYMENT_GROUP_ID" \ --data '{ "force": true }'Ganti kode berikut:
- PROJECT_ID: ID project Anda. Google Cloud
- LOCATION: lokasi grup deployment. Google Cloud Misalnya,
us-central1. - DEPLOYMENT_GROUP_ID: ID grup deployment yang ingin Anda hapus.
Langkah berikutnya
- Pelajari Infra Manager lebih lanjut.
- Lihat referensi Infrastructure Manager API.