Photo by Glenn Carstens-Peters / Unsplash

Setup CI/CD dengan github action dengan Docker dan Webhooks

Apr 23, 2024

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

Preview