Pulumi CI CD Di CodePipeline AWS

Hi gengz, kali ini kita bakal belajar sambil berbagi untuk membuat CI CD Pulumi di CodePipeline AWS. Gaskan

Catatan : Code Pipeline memiliki free tier, bila free tier habis, maka anda akan dikenakan biaya untuk pipeline yang berjalan

Berikut adalah repo yang sudah saya buat

https://github.com/ludesdeveloper/pulumi-ci-cd

Design

Proses yang akan terjadi:

  1. User akan melakukan push pulumi code ke arah repo
  2. Code Pipeline akan ter-trigger untuk membaca Code Commit repo
  3. Code Build akan melakukan build berdasarkan buildspec.yaml
  4. Di dalam build pulumi akan melakukan provisioning untuk S3 Bucket

Mari kita clone dulu ya

git clone https://github.com/ludesdeveloper/pulumi-ci-cd.git

Mari kita buat dulu Code Pipeline dan kawan kawan via pulumi

cd pulumi-ci-cd/create-codepipeline

Saya sudah menyiapkan script untuk inisiasi, silahkan di exekusi aja ya gengz

./init.sh

Script akan menanyakan region yang akan kita pakai, silahkan sesuaikan dengan kebutuhan masing masing

Silahkan membuat stack baru di pulumi app anda

Script juga akan menanyakan token, silahkan cek di link berikut untuk pembuatan token

https://www.pulumi.com/docs/intro/console/accounts/#creating-access-tokens

Note : Token akan digunakan saat build via Code Build untuk pulumi code bisa melakukan login

Semua sudah siap yuk kita gas kan saja

pulumi up

Disini kita bisa lihat, service/infrastructure apa saja yang akan kita buat, silahkan pilih yes dan tunggu sejenak

Bisa kita lihat dibawah ini, semua sudah terbuat, silahkan copy output dari “codeCommitOutput” (ini adalah repo yang akan kita pakai)

Kita butuh menghapus .git directory di root folder, agar kita bisa melakukan push ke arah CodeCommit, yuk kita apus dulu

cd ..
ls -a
rm -rf .git

Mari masuk ke repo yang akan kita push

Code di directory ini akan membuat Bucket S3, saya juga sudah menyiapkan inisiasi script, yuk eksekusi dulu

cd push-to-codecommit
./init.sh

Silahkan melakukan konfigurasi terhadap region dan juga stack name untuk puluminya

Silahkan update buildspec sesuai dengan akun yang anda miliki. Pada bagian “pulumi stack select”, saya menggunakan akun yang saya miliki “FunGuardian”, silahkan update dengan nama akun pulumni anda

Mari kita init folder dengan git

git init
git add .
git commit -m "create bucket s3"

Mari kita tambahkan remote repo kita, dari informasi yang sebelumya kita dapat dari output pulumi saya sudah menyiapkan script yaitu git_remote_init.sh

./git_remote_init.sh
git remote -v

Mari kita push ke repo, silahkan check link dibawah ini untuk generate akses git di AWS

https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html

git push origin master

Yuk kita check di Code Pipeline

Langsung jalan ya gengz, mari kita liat proses di Code Build

Mangstap, semua sudah jalan, yuk kita check s3 kita

aws s3 ls

Pipeline sudah lancar ya gengz, dan S3 Bucket sudah terbuat

Bersih Bersih

Pertama kita akan hapus S3 Bucket yang kita buat via pipeline, seperti dibawah ini

pulumi destroy --yes

Kita bisa menghapus stack yang kita miliki

pulumi stack rm dev

Lalu kita akan menghapus Code Pipeline yang telah kita buat seperti dibawah ini

cd ../create-codepipeline
pulumi destroy --yes

Silahkan hapus stack dengan command berikut

pulumi stack rm dev

Semoga bermanfaat ya gengz 🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

Situs yang Didukung WordPress.com.

Atas ↑

%d blogger menyukai ini: