Skip to content

feat: Add endpoint update case by id #12

feat: Add endpoint update case by id

feat: Add endpoint update case by id #12

Workflow file for this run

name: CI/CD
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
REGISTRY: docker.io
IMAGE_NAME: ${{ github.repository }}
CONTAINER_NAME: ${{ github.repository }}
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.22.4'
- name: Unit Testing
run: go test -v ./...
build:
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Decode and save .env file
run: |
echo ${{ secrets.ENV_FILE }} | base64 -d > .env
echo ${{ secrets.ENV_FILE_DEVELOPMENT }} | base64 -d > .env.development
- name: Build and Push Docker image
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: |
${{ env.IMAGE_NAME }}:latest
${{ env.IMAGE_NAME }}:${{ github.sha }}
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy via SSH
uses: appleboy/[email protected]
env:
ENV: ${{ secrets.ENV }}
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_PRIVATE_KEY }}
port: 22
envs: ENV
script: |
cd /home/trianggianggara23/app/gh5-backend
git pull origin main
docker compose down
docker compose pull
docker compose up -d
docker image prune -f