Files
email-notification/.gitea/workflows/ci.yaml
teddys48 8afb048664
Some checks failed
Build and Deploy / build_and_deploy (push) Has been cancelled
update
2026-02-11 11:00:01 +07:00

57 lines
1.4 KiB
YAML

name: Build and Deploy
on:
push:
branches:
- main
env:
REGISTRY: localhost:9999
IMAGE_NAME: ${{ secrets.PROJECT_NAME }}
jobs:
build_and_deploy:
runs-on: ubuntu-latest # Sesuaikan dengan label di compose
container:
image: catthehacker/ubuntu:act-latest
# PENTING: Mounting socket ke dalam container job agar bisa akses Docker Host
volumes:
- /var/run/docker.sock:/var/run/docker.sock
steps:
- uses: actions/checkout@v4
- name: Setup Environment
run: |
echo "${{ secrets.ENV_FILE }}" > .env
- name: Build Image
run: |
# Menggunakan --network host agar bisa akses registry di localhost:9999
docker build --network host -t $REGISTRY/$IMAGE_NAME:${{ gitea.run_number }} .
- name: Push Image
run: |
# Push ke local registry
docker push $REGISTRY/$IMAGE_NAME:${{ gitea.run_number }}
- name: Deploy
run: |
# Hapus container lama jika ada
docker stop $IMAGE_NAME || true
docker rm $IMAGE_NAME || true
# Jalankan container baru di Docker Host
docker run -d \
--name $IMAGE_NAME \
--memory="64m" \
--cpus="0.1" \
--restart always \
-p 9997:3000 \
$REGISTRY/$IMAGE_NAME:${{ gitea.run_number }}
- name: Cleanup
if: always()
run: |
docker image prune -f