Tutorial ini menjelaskan cara mengelola infrastruktur sebagai kode dengan Terraform dan Cloud Build menggunakan metodologi GitOps yang populer. Istilah GitOps pertama kali diciptakan oleh Weaveworks, dan konsep utamanya adalah menggunakan repositori Git untuk menyimpan status lingkungan yang Anda inginkan. Terraform adalah alat HashiCorp yang dapat Anda gunakan untuk membuat, mengubah, dan meningkatkan infrastruktur cloud secara terprediksi menggunakan kode. Dalam tutorial ini, Anda menggunakan Cloud Build, layanan continuous integration Google Cloud, untuk menerapkan manifes Terraform secara otomatis ke lingkungan Anda.
Tutorial ini ditujukan bagi developer dan operator yang mencari strategi elegan untuk membuat perubahan pada infrastruktur yang dapat diprediksi. Artikel ini mengasumsikan bahwa Anda sudah familier dengan Google Cloud, Linux, dan GitHub.
Laporan State of DevOps mengidentifikasi kemampuan yang mendorong performa pengiriman software. Tutorial ini akan membantu Anda dengan kemampuan berikut:
Arsitektur
Untuk mendemonstrasikan cara tutorial ini menerapkan praktik GitOps untuk mengelola
eksekusi Terraform, pertimbangkan diagram arsitektur berikut. Perhatikan bahwa metode ini menggunakan cabang GitHub—dev
dan prod
—untuk mewakili lingkungan yang sebenarnya. Lingkungan ini ditentukan oleh jaringan Virtual Private Cloud (VPC)—dev
dan prod
—ke dalam project Google Cloud.
Proses ini dimulai saat Anda mengirim kode Terraform ke cabang dev
atau prod
. Dalam skenario ini, Cloud Build akan memicu, lalu menerapkan manifes Terraform untuk mencapai status yang Anda inginkan di lingkungannya masing-masing.
Di sisi lain, saat Anda mengirim kode Terraform ke cabang lain—misalnya, ke cabang fitur—Cloud Build akan beroperasi untuk menjalankan terraform plan
, tetapi tidak ada yang diterapkan ke lingkungan apa pun.
Idealnya, developer atau operator harus membuat proposal infrastruktur ke cabang yang tidak dilindungi, lalu mengirimkannya melalui permintaan pull.
Aplikasi Cloud Build GitHub, yang akan dibahas dalam tutorial ini nanti, akan secara otomatis memicu tugas build dan menautkan laporan terraform plan
ke permintaan pull ini. Dengan cara ini, Anda dapat membahas dan meninjau potensi perubahan dengan kolaborator dan menambahkan commit tindak lanjut sebelum perubahan digabungkan ke cabang dasar.
Jika tidak ada masalah yang diajukan, Anda harus menggabungkan perubahan ke cabang
dev
terlebih dahulu. Penggabungan ini memicu deployment infrastruktur ke lingkungan dev
, sehingga Anda dapat menguji lingkungan ini. Setelah menguji dan yakin dengan apa yang di-deploy, Anda harus menggabungkan cabang dev
ke cabang prod
untuk memicu penginstalan infrastruktur ke lingkungan produksi.
Tujuan
- Menyiapkan repositori GitHub Anda.
- Konfigurasi Terraform untuk menyimpan status di bucket Cloud Storage.
- Berikan izin ke akun layanan Cloud Build Anda.
- Hubungkan Cloud Build ke repositori GitHub Anda.
- Ubah konfigurasi lingkungan Anda di cabang fitur.
- Dorong perubahan pada lingkungan pengembangan.
- Mendorong perubahan pada lingkungan produksi.
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.
Prasyarat
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
- Di Cloud Shell, dapatkan ID project yang baru saja Anda pilih:
Jika perintah ini tidak menampilkan project ID, konfigurasikan Cloud Shell untuk menggunakan project Anda. Gantigcloud config get-value project
PROJECT_ID
dengan project ID Anda.gcloud config set project PROJECT_ID
- Aktifkan API yang diperlukan:
Langkah ini mungkin memerlukan waktu beberapa menit hingga selesai.gcloud services enable cloudbuild.googleapis.com compute.googleapis.com
- Jika Anda belum pernah menggunakan Git di Cloud Shell, konfigurasikan dengan nama dan alamat email Anda:
Git menggunakan informasi ini untuk mengidentifikasi Anda sebagai penulis commit yang Anda buat di Cloud Shell.git config --global user.email "YOUR_EMAIL_ADDRESS" git config --global user.name "YOUR_NAME"
Menyiapkan repositori GitHub Anda
Dalam tutorial ini, Anda menggunakan satu repositori Git untuk menentukan infrastruktur cloud. Anda mengorkestrasi infrastruktur ini dengan memiliki cabang yang berbeda yang sesuai dengan lingkungan yang berbeda:
- Cabang
dev
berisi perubahan terbaru yang diterapkan ke lingkungan pengembangan. - Cabang
prod
berisi perubahan terbaru yang diterapkan ke lingkungan produksi.
Dengan infrastruktur ini, Anda dapat mereferensikan repositori untuk mengetahui konfigurasi yang diharapkan di setiap lingkungan dan mengusulkan perubahan baru dengan menggabungkannya ke dalam lingkungan dev
terlebih dahulu. Selanjutnya, promosikan perubahan tersebut dengan
menggabungkan cabang dev
ke cabang prod
berikutnya.
Untuk memulai, Anda harus melakukan fork repositori solutions-terraform-cloudbuild-gitops.
- Di GitHub, buka https://github.com/GoogleCloudPlatform/solutions-terraform-cloudbuild-gitops.git.
Di pojok kanan atas halaman, klik Fork.
Sekarang Anda memiliki salinan repositori
solutions-terraform-cloudbuild-gitops
dengan file sumber.Di Cloud Shell, buat clone repositori yang di-fork ini, dengan mengganti
YOUR_GITHUB_USERNAME
dengan nama pengguna GitHub Anda:cd ~ git clone https://github.com/YOUR_GITHUB_USERNAME/solutions-terraform-cloudbuild-gitops.git cd ~/solutions-terraform-cloudbuild-gitops
Kode dalam repositori ini disusun sebagai berikut:
Folder
environments/
berisi subfolder yang merepresentasikan lingkungan, sepertidev
danprod
, yang masing-masing memberikan pemisahan logis antara workload pada berbagai tahap kematangan, pengembangan, dan produksi. Meskipun memiliki lingkungan yang semirip mungkin dengan ini merupakan praktik yang baik, setiap subfolder memiliki konfigurasi Terraform-nya sendiri untuk memastikan bahwa lingkungan tersebut dapat memiliki setelan unik sesuai kebutuhan.Folder
modules/
berisi modul Terraform inline. Modul ini mewakili pengelompokan logis resource terkait dan digunakan untuk berbagi kode di berbagai lingkungan.File
cloudbuild.yaml
adalah file konfigurasi build yang berisi petunjuk untuk Cloud Build, seperti cara menjalankan tugas berdasarkan serangkaian langkah. File ini menentukan eksekusi bersyarat yang bergantung pada cabang yang digunakan Cloud Build untuk mengambil kode, misalnya:Untuk cabang
dev
danprod
, langkah-langkah berikut dijalankan:terraform init
terraform plan
terraform apply
Untuk cabang lain, langkah-langkah berikut dijalankan:
terraform init
untuk semua subfolderenvironments
terraform plan
untuk semua subfolderenvironments
Untuk memastikan bahwa perubahan yang diusulkan sesuai untuk setiap lingkungan,
terraform init
dan terraform plan
dijalankan untuk semua subfolder
environments
. Sebelum menggabungkan permintaan pull, Anda dapat meninjau paket
untuk memastikan bahwa, misalnya, akses tidak diberikan kepada
entitas yang tidak sah.
Mengonfigurasi Terraform untuk menyimpan status di bucket Cloud Storage
Secara default, Terraform menyimpan state secara lokal dalam file bernama terraform.tfstate
. Konfigurasi default ini dapat menyulitkan tim untuk menggunakan Terraform, terutama ketika banyak pengguna menjalankan
Terraform secara bersamaan dan setiap mesin memiliki pemahamannya sendiri tentang infrastruktur saat ini.
Untuk membantu Anda menghindari masalah tersebut, bagian ini mengonfigurasi status jarak jauh yang mengarah ke bucket Cloud Storage. Status jarak jauh adalah fitur
backend
dan, dalam tutorial ini, dikonfigurasi dalam file backend.tf
—misalnya:
Pada langkah-langkah berikut, Anda akan membuat bucket Cloud Storage dan mengubah beberapa file agar mengarah ke bucket baru dan project Google Cloud Anda.
Di Cloud Shell, buat bucket Cloud Storage.
PROJECT_ID=$(gcloud config get-value project) gsutil mb gs://${PROJECT_ID}-tfstate
Aktifkan Pembuatan Versi Objek untuk menyimpan histori penerapan Anda:
gsutil versioning set on gs://${PROJECT_ID}-tfstate
Mengaktifkan Pembuatan Versi Objek akan meningkatkan biaya penyimpanan, yang dapat Anda kurangi dengan mengonfigurasi Object Lifecycle Management untuk menghapus versi status lama.
Ganti placeholder
PROJECT_ID
dengan ID project di fileterraform.tfvars
danbackend.tf
:cd ~/solutions-terraform-cloudbuild-gitops sed -i s/PROJECT_ID/$PROJECT_ID/g environments/*/terraform.tfvars sed -i s/PROJECT_ID/$PROJECT_ID/g environments/*/backend.tf
Di OS X/MacOS, Anda mungkin perlu menambahkan dua tanda kutip (
""
) setelahsed -i
, sebagai berikut:cd ~/solutions-terraform-cloudbuild-gitops sed -i "" s/PROJECT_ID/$PROJECT_ID/g environments/*/terraform.tfvars sed -i "" s/PROJECT_ID/$PROJECT_ID/g environments/*/backend.tf
Periksa apakah semua file telah diperbarui:
git status
Outputnya akan terlihat seperti ini:
On branch dev Your branch is up-to-date with 'origin/dev'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: environments/dev/backend.tf modified: environments/dev/terraform.tfvars modified: environments/prod/backend.tf modified: environments/prod/terraform.tfvars no changes added to commit (use "git add" and/or "git commit -a")
Commit dan kirim perubahan Anda:
git add --all git commit -m "Update project IDs and buckets" git push origin dev
Bergantung pada konfigurasi GitHub Anda, Anda harus melakukan autentikasi untuk menerapkan perubahan sebelumnya.
Memberikan izin ke akun layanan Cloud Build Anda
Agar akun layanan Cloud Build dapat menjalankan skrip Terraform dengan tujuan mengelola resource Google Cloud, Anda perlu memberinya akses yang sesuai ke project Anda. Untuk mempermudah, akses editor project diberikan dalam tutorial ini. Namun, jika peran editor project memiliki izin yang luas, di lingkungan produksi, Anda harus mengikuti praktik terbaik keamanan IT perusahaan Anda, yang biasanya memberikan akses dengan hak istimewa terendah.
Di Cloud Shell, ambil email untuk akun layanan Cloud Build project Anda:
CLOUDBUILD_SA="$(gcloud projects describe $PROJECT_ID \ --format 'value(projectNumber)')@cloudbuild.gserviceaccount.com"
Berikan akses yang diperlukan ke akun layanan Cloud Build Anda:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$CLOUDBUILD_SA --role roles/editor
Langsung menghubungkan Cloud Build ke repositori GitHub Anda
Bagian ini menunjukkan cara menginstal aplikasi Cloud Build GitHub. Penginstalan ini memungkinkan Anda menghubungkan repositori GitHub dengan project Google Cloud, sehingga Cloud Build dapat diterapkan secara otomatis manifes Terraform setiap kali Anda membuat cabang baru atau mengirim kode ke GitHub.
Langkah-langkah berikut memberikan petunjuk penginstalan aplikasi hanya untuk
repositori solutions-terraform-cloudbuild-gitops
, tetapi Anda dapat memilih untuk
menginstal aplikasi ke lebih banyak atau semua repositori Anda.
Buka halaman GitHub Marketplace untuk aplikasi Cloud Build:
Buka halaman aplikasi Cloud Build
- Jika ini pertama kalinya Anda mengonfigurasi aplikasi di GitHub: Klik Setup with Google Cloud Build di bagian bawah halaman. Selanjutnya, klik Grant this app access to your GitHub account.
- Jika ini bukan pertama kalinya mengonfigurasi aplikasi di GitHub: Klik Configure access. Halaman Applications pada akun pribadi Anda akan terbuka.
Klik Configure di baris Cloud Build.
Pilih Only select repository, lalu pilih
solutions-terraform-cloudbuild-gitops
untuk terhubung ke repositori.Klik Save atau Install—label tombol akan berubah bergantung pada alur kerja Anda. Anda sekarang dialihkan ke Google Cloud untuk melanjutkan penginstalan.
Login dengan akun Google Cloud Anda. Jika diminta, izinkan integrasi Cloud Build dengan GitHub.
Di halaman Cloud Build, pilih project Anda. Wizard akan muncul.
Di bagian Select repository, pilih akun GitHub Anda dan repositori
solutions-terraform-cloudbuild-gitops
.Jika Anda menyetujui persyaratan dan ketentuan ini, pilih kotak centang, lalu klik Connect.
Di bagian Create a trigger, klik Create a trigger:
- Tambahkan nama pemicu, seperti
push-to-branch
. Catat nama pemicu ini karena Anda akan membutuhkannya nanti. - Di bagian Event, pilih Push to a branch.
- Di bagian Source, pilih
.*
di kolom Branch. - Klik Create.
- Tambahkan nama pemicu, seperti
Aplikasi GitHub Cloud Build sekarang sudah dikonfigurasi, dan repositori GitHub Anda ditautkan ke project Google Cloud Anda. Mulai sekarang, perubahan pada repositori GitHub akan memicu eksekusi Cloud Build, yang melaporkan hasilnya kembali ke GitHub menggunakan Pemeriksaan GitHub.
Mengubah konfigurasi lingkungan Anda di cabang fitur baru
Saat ini, sebagian besar lingkungan Anda telah dikonfigurasi. Jadi, saatnya membuat beberapa perubahan kode di lingkungan pengembangan Anda.
Di GitHub, buka halaman utama repositori Anda yang sudah di-fork.
https://github.com/YOUR_GITHUB_USERNAME/solutions-terraform-cloudbuild-gitops
Pastikan Anda berada di cabang
dev
.Untuk membuka file yang akan diedit, buka file
modules/firewall/main.tf
dan klik ikon pensil.Di baris 30, perbaiki kesalahan ketik
"http-server2"
di kolomtarget_tags
.Nilai harus berupa
"http-server"
.Tambahkan pesan commit di bagian bawah halaman, seperti "Perbaiki target firewall http", lalu pilih Create a new branch for this commit and start a pull request.
Klik Propose changes.
Pada halaman berikutnya, klik Create pull request untuk membuka permintaan pull baru dengan perubahan Anda.
Setelah permintaan pull Anda terbuka, tugas Cloud Build akan dimulai secara otomatis.
Klik Show all checks dan tunggu hingga centang berwarna hijau.
Klik Details untuk melihat informasi selengkapnya, termasuk output
terraform plan
di link View more details on Google Cloud Build.
Jangan gabungkan permintaan pull Anda.
Perhatikan bahwa tugas Cloud Build menjalankan pipeline yang ditentukan dalam file cloudbuild.yaml
. Seperti yang telah dibahas sebelumnya, pipeline ini memiliki perilaku yang berbeda bergantung pada cabang yang diambil. Build akan memeriksa apakah
variabel $BRANCH_NAME
cocok dengan folder lingkungan mana pun. Jika demikian, Cloud Build akan menjalankan terraform plan
untuk lingkungan tersebut.
Jika tidak, Cloud Build akan mengeksekusi terraform plan
untuk semua lingkungan guna memastikan perubahan yang diusulkan sesuai untuk semua lingkungan. Jika salah satu
rencana ini gagal dijalankan, build akan gagal.
Demikian pula, perintah terraform apply
yang akan berjalan untuk cabang lingkungan, tetapi
sepenuhnya diabaikan dalam kasus lainnya. Di bagian ini, Anda telah mengirimkan perubahan kode ke cabang baru, sehingga tidak ada deployment infrastruktur yang diterapkan ke project Google Cloud Anda.
Menerapkan keberhasilan eksekusi Cloud Build sebelum menggabungkan cabang
Untuk memastikan penggabungan hanya dapat diterapkan jika setiap eksekusi Cloud Build berhasil, lanjutkan dengan langkah-langkah berikut:
Di GitHub, buka halaman utama repositori Anda yang sudah di-fork.
https://github.com/YOUR_GITHUB_USERNAME/solutions-terraform-cloudbuild-gitops
Di bagian nama repositori Anda, klik Settings.
Di menu sebelah kiri, klik Branches.
Pada bagian Branch protection rules, klik Add rule.
Di Branch name pattern, ketik
dev
.Di bagian Protect matching branches, pilih Require status checks to pass before merging.
Telusuri nama pemicu Cloud Build yang telah Anda buat sebelumnya.
Klik Create.
Ulangi langkah 3–7, tetapkan Branch name pattern ke
prod
.
Konfigurasi ini penting untuk
melindungi
cabang dev
dan prod
. Artinya, commit harus terlebih dahulu didorong ke cabang lain, dan baru setelah itu dapat digabungkan ke cabang yang dilindungi. Dalam tutorial ini, perlindungan mengharuskan eksekusi Cloud Build berhasil agar penggabungan diizinkan.
Mendorong perubahan pada lingkungan pengembangan
Anda memiliki permintaan pull yang menunggu untuk digabungkan. Kini saatnya menerapkan status
yang Anda inginkan ke lingkungan dev
.
Di GitHub, buka halaman utama repositori Anda yang sudah di-fork.
https://github.com/YOUR_GITHUB_USERNAME/solutions-terraform-cloudbuild-gitops
Di bagian nama repositori Anda, klik Pull requests.
Klik permintaan pull yang baru saja dibuat.
Klik Merge pull request, lalu klik Confirm merge.
Periksa apakah Cloud Build baru telah dipicu:
Buka build dan periksa log.
Setelah build selesai, Anda akan melihat tampilan seperti ini:
Step #3 - "tf apply": external_ip = EXTERNAL_IP_VALUE Step #3 - "tf apply": firewall_rule = dev-allow-http Step #3 - "tf apply": instance_name = dev-apache2-instance Step #3 - "tf apply": network = dev Step #3 - "tf apply": subnet = dev-subnet-01
Salin
EXTERNAL_IP_VALUE
dan buka alamat di browser web.http://EXTERNAL_IP_VALUE
Penyediaan ini mungkin memerlukan waktu beberapa detik untuk mem-booting VM dan menerapkan aturan firewall. Terakhir, Anda akan melihat Environment: dev di browser web.
Buka file status Terraform di bucket Cloud Storage Anda.
https://storage.cloud.google.com/PROJECT_ID-tfstate/env/dev/default.tfstate
Mendorong perubahan pada lingkungan produksi
Setelah lingkungan pengembangan sudah diuji sepenuhnya, Anda dapat mempromosikan kode infrastruktur ke produksi.
Di GitHub, buka halaman utama repositori Anda yang sudah di-fork.
https://github.com/YOUR_GITHUB_USERNAME/solutions-terraform-cloudbuild-gitops
Di bagian nama repositori Anda, klik Pull requests.
Klik New pull request.
Untuk base repository, pilih repositori yang baru saja diambil.
Untuk base, pilih
prod
dari repositori dasar Anda sendiri. Untuk compare, pilihdev
.Klik Create pull request.
Untuk title, masukkan judul seperti
Promoting networking changes
, lalu klik Create pull request.Tinjau perubahan yang diusulkan, termasuk detail
terraform plan
dari Cloud Build, lalu klik Merge pull request.Klik Confirm merge.
Di konsol Google Cloud, buka halaman Build History untuk melihat perubahan yang Anda terapkan ke lingkungan produksi:
Tunggu hingga build selesai, lalu periksa log.
Di akhir log, Anda akan melihat sesuatu seperti ini:
Step #3 - "tf apply": external_ip = EXTERNAL_IP_VALUE Step #3 - "tf apply": firewall_rule = prod-allow-http Step #3 - "tf apply": instance_name = prod-apache2-instance Step #3 - "tf apply": network = prod Step #3 - "tf apply": subnet = prod-subnet-01
Salin
EXTERNAL_IP_VALUE
dan buka alamat di browser web.http://EXTERNAL_IP_VALUE
Penyediaan ini mungkin memerlukan waktu beberapa detik untuk mem-booting VM dan menerapkan aturan firewall. Terakhir, Anda akan melihat Environment: prod di browser web.
Buka file status Terraform di bucket Cloud Storage Anda.
https://storage.cloud.google.com/PROJECT_ID-tfstate/env/prod/default.tfstate
Anda telah berhasil mengonfigurasi pipeline infrastruktur sebagai kode tanpa server di Cloud Build. Di masa mendatang, Anda dapat mencoba hal berikut:
- Tambahkan deployment untuk kasus penggunaan terpisah.
- Buat lingkungan tambahan untuk mencerminkan kebutuhan Anda.
- Gunakan project per lingkungan, bukan VPC per lingkungan.
Pembersihan
Setelah menyelesaikan tutorial, bersihkan resource yang dibuat di Google Cloud sehingga Anda tidak akan ditagih di masa mendatang.
Menghapus project
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Menghapus repositori GitHub
Untuk menghindari pemblokiran permintaan pull baru di repositori GitHub, Anda dapat menghapus aturan perlindungan cabang:
- Di GitHub, buka halaman utama repositori Anda yang di-fork.
- Di bagian nama repositori Anda, klik Settings.
- Di menu sebelah kiri, klik Branches.
- Di bagian Branch protection rules, klik tombol Delete untuk baris
dev
danprod
.
Secara opsional, Anda dapat meng-uninstal aplikasi Cloud Build sepenuhnya dari GitHub:
Buka setelan Applications GitHub.
Di tab Installed GitHub Apps, klik Configure di baris Cloud Build. Kemudian, di bagian Danger zone, klik tombol Uninstall di baris Uninstall Google Cloud Builder.
Di bagian atas halaman, Anda akan melihat pesan yang menyatakan "You're all set. A job has been queued to uninstall Google Cloud Build."
Di tab Authorized GitHub Apps, klik tombol Revoke di baris Google Cloud Build, lalu I understand, revoke access di jendela pop-up.
Jika Anda tidak ingin menyimpan repositori GitHub Anda:
- Di GitHub, buka halaman utama repositori Anda yang di-fork.
- Di bagian nama repositori Anda, klik Settings.
- Scroll ke bawah ke Danger Zone.
- Klik Delete this repository, dan ikuti langkah konfirmasi.
Langkah selanjutnya
- Pertimbangkan untuk menggunakan template Cloud Foundation Toolkit untuk membangun dengan cepat fondasi yang dapat diulang dan siap digunakan perusahaan di Google Cloud.
- Tonton Lingkungan Google Cloud yang Dapat Berulang dalam Skala Besar dengan Pipeline Infrastruktur sebagai Kode Cloud Build dari Next' 19 tentang alur kerja GitOps yang dijelaskan dalam tutorial ini.
- Lihat tutorial Continuous delivery bergaya GitOps dengan Cloud Build.
- Lihat fitur Cloud Build yang lebih canggih: Mengonfigurasi urutan langkah membangun, Membangun, Menguji, dan Men-deploy Artefak, Membuat Langkah Build Kustom
- Lihat blog tentang Memastikan skala dan kepatuhan Deployment Terraform Anda dengan Cloud Build.
- Baca referensi kami tentang DevOps.
- Pelajari lebih lanjut kapabilitas DevOps terkait tutorial ini:
- Lakukan pemeriksaan cepat DevOps untuk memahami posisi Anda dibandingkan dengan industri lainnya.