hrms-api-backend/.forgejo/workflows/build-placement.yml

62 lines
2.1 KiB
YAML
Raw Normal View History

2025-09-09 14:45:35 +07:00
name: Build
on:
push:
tags:
2025-09-09 16:16:00 +07:00
- "placement-dev[0-9]+.[0-9]+.[0-9]+"
- "placement-dev[0-9]+.[0-9]+.[0-9]+*"
2025-09-09 14:45:35 +07:00
workflow_dispatch:
env:
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
IMAGE_VERSION: build
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
config-inline: |
[registry."${{ env.REGISTRY }}"]
ca=["/etc/ssl/certs/ca-certificates.crt"]
- name: Tag Version
run: |
if [[ "${{ github.event_name }}" == "push" ]]; then
2025-09-09 16:16:00 +07:00
echo "IMAGE_VERSION=${{ github.ref_name }}" | sed 's/placement-dev//g' >> $GITHUB_ENV
2025-09-09 14:45:35 +07:00
else
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
fi
- name: Login in to registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ env.REGISTRY_USERNAME }}
password: ${{ env.REGISTRY_PASSWORD }}
- name: Build and push docker image
uses: docker/build-push-action@v3
with:
platforms: linux/amd64
context: .
file: ./BMA.EHR.Placement.Service/Dockerfile
2025-09-09 16:59:55 +07:00
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-placement:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-placement:${{ env.IMAGE_VERSION }}
2025-09-09 14:45:35 +07:00
push: true
2025-09-09 16:16:00 +07:00
- name: Remote Deploy
uses: appleboy/ssh-action@v1.2.1
with:
host: ${{ vars.SSH_DEPLOY_HOST }}
port: ${{ vars.SSH_DEPLOY_PORT }}
username: ${{ secrets.SSH_DEPLOY_USER }}
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
script: |
cd ~/repo
./replace-env.sh API_PLACEMENT "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-api-placement