hrms-edm/.github/workflows/release.yaml
2024-01-10 17:03:25 +07:00

78 lines
2.4 KiB
YAML

name: release
run-name: release ${{ github.actor }}
on:
workflow_dispatch:
inputs:
IMAGE_VER:
description: image version
type: string
env:
REGISTRY: docker.frappet.com
IMAGE_NAME: edm/core
DEPLOY_HOST: frappet.com
COMPOSE_PATH: /home/chamomind/docker/edm
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Gen Version
id: gen_ver
run: |
if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
IMAGE_VER="${GITHUB_REF##*/}"
else
IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
fi
if [[ $IMAGE_VER == '' ]]; then
IMAGE_VER='dev'
fi
echo "{\"version\":\"$IMAGE_VER\", \"date\":\"$(date +"%Y-%m-%d_%T")\",\"ref\":\"$GITHUB_REF\" }" > ./Services/server/src/version.json
echo '::set-output name=image_ver::'$IMAGE_VER
cat ./Services/server/src/version.json
- name: Debug act
if: ${{ env.ACT }}
run: |
echo $GITHUB_REF
echo ${{ steps.gen_ver.outputs.image_ver }}
cat ./Services/server/src/version.json
echo ${{ secrets.DOCKER_USER }}
echo ${{ secrets.DOCKER_PASS }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login in to registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Build and push docker image
uses: docker/build-push-action@v3
with:
context: ./Services
platforms: linux/amd64
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Debug act
if: ${{ env.ACT }}
run: |
cat ./Services/server/src/version.json
echo ${{ secrets.DOCKER_USER }}
echo ${{ secrets.DOCKER_PASS }}
- name: Remote Deployment
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ env.DEPLOY_HOST }}
key: ${{ secrets.SSH_KEY }}
username: chamomind
port: 10100
script: |
cd "${{ env.COMPOSE_PATH }}"
docker compose pull
docker compose up -d
echo "${{ steps.gen_ver.outputs.image_ver }}"> success