Setup CI/CD dengan github action dengan Docker dan Webhooks
Pre-request
- Repositori berisi Node.js App atau sejenis
- Virtual Machine (1GB)
Workflow CI dengan github action
- Buat direktori
.github/workflows - Buat file YAML workflow
Setup Docker dan build pada github registri
- Membuat dockerfile yang sesuai dengan node.js

- Setup CD untuk upload docker app yang sudah dibuild
Setup deployment pertama dengan portainer dan webhooks
- Instalasi portainer
- Inisiasi docker compose dengan manajemen portainer
version: '3'
services:
app:
container_name: book-api
image: ghcr.io/yoganovvaindra/book-api:latest
ports:
- "9000:9000"
environment:
- DATABASE_URL=mysql://root:abogoboga@eco-db:3306/ecoguardian_db
- NEXTAUTH_URL=https://ecoguardian.ygnv.my.id
- NEXT_PUBLIC_SITE_URL=https://ecoguardian.ygnv.my.id
- NEXT_PUBLIC_CHART_URL=https://ecochart.ygnv.my.id
- GOOGLE_CLIENT_ID=
- GOOGLE_CLIENT_SECRET=
volumes:
- images:/app/images
restart: unless-stopped
- Menghubungkan webhooks pada repo Github