Lanjut dari Session 1 sampai di sini kita akan menjalankan web service atlantis. Untuk menjalankan web service Atlantis kita akan membuat Systemd Service.
Create Systemd Service
$ cd /etc/systemd/system
$ sudo nano atlantis.service
isi dengan
[Unit]
Description=service automation atlantis pull request
[Service]
ExecStart= atlantis server --atlantis-url="http://ippublicserver" --gh-user="user github" --gh-token="token personal github" --gh-webhook-secret="secret yang tadi di buat diwebhook" --repo-allowlist="url repository" --port=80 --repo-config="/home/ubuntu/atlantis-config.yaml"
Restart=always
[Install]
WantedBy=multi-user.target
selanjut nya di server kita bikin file atlantis-config.yaml
$ cd /home/ubuntu
$ nano atlantis-config.yaml
isi dengan
repos:
- id: /.*/
workflow: terragrunt
workflows:
terragrunt:
plan:
steps:
- env:
name: DESTROY_PARAMETER
command: if [ "$COMMENT_ARGS" = "\-\d\e\s\t\r\o\y" ]; then echo "-destroy"; else echo ""; fi
- run: terragrunt plan --terragrunt-non-interactive -no-color -out=$PLANFILE $DESTROY_PARAMETER
apply:
steps:
- run: terragrunt apply --terragrunt-non-interactive -no-color $PLANFILE
jangan lupa untuk reload service yang sudah di buat tadi
$ sudo systemctl daemon-reload
$ sudo systemctl start atlantis
$ sudo systemctl status atlantis
atlantis.service - service automation atlantis pull request
Loaded: loaded (/etc/systemd/system/atlantis.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2022-12-31 10:46:42 UTC; 30s ago
Main PID: 25724 (atlantis)
Tasks: 7 (limit: 2309)
Memory: 9.0M
CGroup: /system.slice/atlantis.service
coba akses menggunakan ip publik server, jika terjadi error coba cek security group di AWS EC2 instance nya apakah port 80 sudah di accept lewat publik. Jika sudah tampilan awal seperti ini.
next push configuration terraform ke github.
Configure AWS CLI
$ sudo apt install awscli
$ aws configure --profile aws-staging //proses staging
//* login aws *//
//* access key *//
//* secret key *//
Create bucket storage (S3)
pergi ke AWS Console > search S3. buat nama unik dan create bucket. AWS S3 di butuhkan untuk menyimpan state, database terraform.