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:
- User akan melakukan push pulumi code ke arah repo
- Code Pipeline akan ter-trigger untuk membaca Code Commit repo
- Code Build akan melakukan build berdasarkan buildspec.yaml
- 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