Pusat Desain Aplikasi mendukung beberapa Google Cloud produk yang dapat Anda tambahkan sebagai komponen ke aplikasi Anda. Untuk menggunakan versi Anda sendiri dari komponen ini, atau menambahkan komponen lain, impor modul Terraform Anda ke Pusat Desain Aplikasi.
Modul Terraform adalah konfigurasi yang dapat digunakan kembali untuk produk Google Cloud . Mengimpor modul Terraform membantu Anda melakukan hal berikut:
- Mempercepat dan mengatur pengembangan aplikasi.
- Gunakan kembali keputusan desain yang ada di Pusat Desain Aplikasi.
- Membantu developer aplikasi mematuhi kebijakan desain yang telah Anda tetapkan.
Saat Anda mengimpor modul Terraform, Pusat Desain Aplikasi akan membuat template komponen yang sesuai di katalog ruang Anda. Kemudian, Anda dapat menggunakan template sebagai komponen dalam desain template aplikasi.
Untuk mempelajari Terraform di Google Cloud, lihat artikel berikut:
- Ringkasan Terraform.
- Praktik terbaik untuk gaya dan struktur umum.
- Praktik terbaik untuk modul yang dapat digunakan kembali.
Sebelum memulai
Minta administrator untuk memberi Anda salah satu peran berikut di folder yang mendukung aplikasi atau project pengelolaan:
- Admin Pusat Desain Aplikasi (
roles/designcenter.admin). - Pengguna Application Design Center (
roles/designcenter.user).
Mengonfigurasi dan mengimpor modul
Selesaikan langkah-langkah berikut untuk terhubung ke GitHub, membuat file metadata, dan mengimpor modul Terraform.
Menghubungkan ke repositori menggunakan Developer Connect
Buat koneksi Developer Connect ke repositori GitHub tempat Anda menyimpan modul Terraform. Google Cloud Anda akan menggunakan koneksi ini saat mengimpor.
Buat koneksi Developer Connect.
Untuk mengetahui langkah-langkahnya, lihat Menghubungkan ke GitHub.
Buat link repositori Developer Connect.
Untuk mengetahui langkah-langkahnya, lihat Menambahkan link repositori ke koneksi yang ada.
Opsional: Siapkan metadata modul Terraform Anda
Saat mengimpor modul Terraform, Anda dapat memberikan metadata Anda sendiri, atau membiarkan Pusat Desain Aplikasi membuat file metadata untuk Anda.
Misalnya, berikut adalah file metadata.yaml yang dapat Anda buat untuk
akun layanan:
spec:
info:
actuationTool:
flavor: Terraform
version: ">= 1.3"
interfaces: # Optional
variables:
- name: service_account
connections:
- source:
source: github.com/terraform-google/terraform-google-service-accounts
version: ">= 4.4"
spec:
outputExpr: email
requirements:
roles: # Optional after IAM integrations
- level: Project
roles:
- roles/iam.serviceAccountUser
- roles/iap.admin
- roles/run.admin
- roles/iam.serviceAccountAdmin
providerVersions:
- source: hashicorp/google
version: ">= 6, < 7"
- source: hashicorp/google-beta
version: ">= 6, < 7"
ui: # Optional
input:
variables:
ca_root_module:
name: ca_root_module
title: Ca Root Module
service_account:
name: service_account
title: Service Account
Mengimpor dari repositori Anda
Anda dapat membuat komponen App Design Center dengan mengimpor modul Terraform yang didasarkan pada satu produk Google Cloud . Jika Anda melakukan perubahan pada modul Terraform di repositori, ulangi langkah-langkah ini untuk mengimpor perubahan.
Untuk mengimpor modul Terraform, lakukan langkah-langkah berikut:
Identifikasi katalog tempat Anda ingin membuat komponen.
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACEGanti kode berikut:
PROJECT: Project ID pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces catalogs list.
Buat template katalog di katalog pribadi ruang Anda.
gcloud design-center spaces catalogs templates create COMPONENT_TEMPLATE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --template-category=component-templateGanti kode berikut:
COMPONENT_TEMPLATE: ID template untuk template komponen yang ingin Anda buat.PROJECT: Project ID pengelolaan Anda.CATALOG: ID katalog Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces catalogs templates create.
Buat revisi template katalog berdasarkan modul Terraform di repositori Anda.
gcloud design-center spaces catalogs templates revisions create REVISION \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --template=COMPONENT_TEMPLATE \ --developer-connect-repo=DEVELOPER_CONNECT_REPO \ --developer-connect-repo-ref=DEVELOPER_CONNECT_REPO_REF \ --developer-connect-repo-dir=DEVELOPER_CONNECT_REPO_DIR \ --metadata=METADATA | --use-repoGanti kode berikut:
REVISION: ID revisi untuk revisi yang ingin Anda buat.PROJECT: Project ID pengelolaan Anda.CATALOG: ID katalog Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.COMPONENT_TEMPLATE: ID template yang Anda buat di langkah sebelumnya.DEVELOPER_CONNECT_REPO: Repositori Developer Connect yang akan digunakan sebagai sumber. Contoh,projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.DEVELOPER_CONNECT_REPO_REF: Cabang atau tag Git di repositori. Misalnyarefs/tags/v1.0.0ataurefs/heads/main.DEVELOPER_CONNECT_REPO_DIR: Direktori di repositori. Contoh,modules/my-product.- Untuk menentukan metadata modul Terraform, lakukan salah satu hal berikut:
- Untuk menggunakan file metadata Anda sendiri,
ganti
METADATAdengan filemetadata.yamlAnda. - Untuk membuat file metadata secara otomatis di repositori Anda, tentukan
flag
--use-repo.
- Untuk menggunakan file metadata Anda sendiri,
ganti
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces catalogs templates revisions create.
Membagikan katalog Anda ke ruang lainnya.
gcloud design-center spaces catalogs shares create SHARE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --destination-space=DESTINATION_SPACEGanti kode berikut:
SHARE: ID berbagi untuk berbagi yang ingin Anda buat.PROJECT: Project ID pengelolaan Anda.CATALOG: ID katalog Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.DESTINATION_SPACE: ID ruang tujuan.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces catalogs shares create.
Membuat template aplikasi menggunakan komponen yang diimpor
Buat template aplikasi menggunakan komponen yang Anda impor dan komponen yang disediakan Google.
Buat template aplikasi baru.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACEGanti kode berikut:
APPLICATION_TEMPLATE: ID template untuk template aplikasi yang ingin Anda buat.PROJECT: Project ID pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces application-templates create.
Identifikasi URI revisi template untuk komponen yang ingin Anda tambahkan ke template.
gcloud design-center spaces shared-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --uriGanti kode berikut:
PROJECT: Project ID pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces shared-templates list.
Tambahkan komponen ke template aplikasi Anda.
gcloud design-center spaces application-templates components create COMPONENT \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --shared-template-revision-uri=SHARED_TEMPLATE_URIGanti kode berikut:
COMPONENT: ID komponen untuk komponen yang ingin Anda tambahkan ke template.PROJECT: Project ID pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.APPLICATION_TEMPLATE: ID template untuk template aplikasi tempat Anda menambahkan komponen.SHARED_TEMPLATE_URI: URI template bersama komponen. Contoh,projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces application-templates components create.
Tambahkan komponen kedua ke template Anda.
gcloud design-center spaces application-templates components create COMPONENT_2 \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --shared-template-revision-uri=SHARED_TEMPLATE_URI_2Ganti kode berikut:
COMPONENT_2: ID komponen untuk komponen kedua yang ingin Anda tambahkan ke template.PROJECT: Project ID pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.APPLICATION_TEMPLATE: ID template untuk template aplikasi tempat Anda menambahkan komponen.SHARED_TEMPLATE_URI_2: URI template bersama komponen kedua. Contoh,projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces application-templates components create.
Buat koneksi antara kedua komponen.
gcloud design-center spaces application-templates components connections create CONNECTION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --component=COMPONENT \ --destination-component-uri=SHARED_TEMPLATE_URI_2Ganti kode berikut:
CONNECTION: ID koneksi untuk koneksi yang ingin Anda tambahkan ke template.PROJECT: Project ID pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.APPLICATION_TEMPLATE: ID template untuk template aplikasi tempat Anda menambahkan komponen.SHARED_TEMPLATE_URI_2: URI template bersama komponen kedua. Contoh,projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces application-templates components connections create.
Langkah berikutnya
- Sebelum men-deploy, buat aplikasi.
- Deploy dari konsol.
- Ekspor kode Terraform Anda.