fix cicd noti
All checks were successful
Build / build (push) Successful in 1m34s

This commit is contained in:
Warunee Tamkoo 2025-09-16 13:46:02 +07:00
parent 643b6903d9
commit d0c5bafdba
8 changed files with 217 additions and 73 deletions

View file

@ -12,6 +12,7 @@ env:
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
SERVICE_NAME: hrms-api-checkin
IMAGE_VERSION: build IMAGE_VERSION: build
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }} DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
@ -46,7 +47,7 @@ jobs:
platforms: linux/amd64 platforms: linux/amd64
context: . context: .
file: ./BMA.EHR.CheckInConsumer/Dockerfile file: ./BMA.EHR.CheckInConsumer/Dockerfile
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-checkin:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-checkin:${{ env.IMAGE_VERSION }} tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-checkin:${{ env.IMAGE_VERSION }}
push: true push: true
- name: Remote Deploy - name: Remote Deploy
uses: appleboy/ssh-action@v1.2.1 uses: appleboy/ssh-action@v1.2.1
@ -58,7 +59,7 @@ jobs:
script: | script: |
cd ~/repo cd ~/repo
./replace-env.sh API_CHECKIN "${{ env.IMAGE_VERSION }}" ./replace-env.sh API_CHECKIN "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-api-checkin ./deploy.sh ${{ env.SERVICE_NAME }}
- name: Discord Notification - name: Discord Notification
if: always() if: always()
@ -71,7 +72,7 @@ jobs:
-d "{ -d "{
\"embeds\": [{ \"embeds\": [{
\"title\": \"$STATUS\", \"title\": \"$STATUS\",
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\", \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
\"color\": $COLOR, \"color\": $COLOR,
\"footer\": { \"footer\": {
\"text\": \"Release Notification\", \"text\": \"Release Notification\",

View file

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

View file

@ -12,7 +12,9 @@ env:
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
SERVICE_NAME: hrms-api-discipline
IMAGE_VERSION: build IMAGE_VERSION: build
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
jobs: jobs:
build: build:
@ -45,7 +47,7 @@ jobs:
platforms: linux/amd64 platforms: linux/amd64
context: . context: .
file: ./BMA.EHR.Discipline.Service/Dockerfile file: ./BMA.EHR.Discipline.Service/Dockerfile
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-discipline:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-discipline:${{ env.IMAGE_VERSION }} tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-discipline:${{ env.IMAGE_VERSION }}
push: true push: true
- name: Remote Deploy - name: Remote Deploy
uses: appleboy/ssh-action@v1.2.1 uses: appleboy/ssh-action@v1.2.1
@ -57,5 +59,26 @@ jobs:
script: | script: |
cd ~/repo cd ~/repo
./replace-env.sh API_DISCIPLINE "${{ env.IMAGE_VERSION }}" ./replace-env.sh API_DISCIPLINE "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-api-discipline ./deploy.sh ${{ env.SERVICE_NAME }}
- name: Discord Notification
if: always()
run: |
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
curl -H "Content-Type: application/json" \
-X POST \
-d "{
\"embeds\": [{
\"title\": \"$STATUS\",
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
\"color\": $COLOR,
\"footer\": {
\"text\": \"Release Notification\",
\"icon_url\": \"https://example.com/success-icon.png\"
},
\"timestamp\": \"$TIMESTAMP\"
}]
}" \
${{ env.DISCORD_WEBHOOK }}

View file

@ -12,7 +12,9 @@ env:
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
SERVICE_NAME: hrms-api-insignia
IMAGE_VERSION: build IMAGE_VERSION: build
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
jobs: jobs:
build: build:
@ -45,7 +47,7 @@ jobs:
platforms: linux/amd64 platforms: linux/amd64
context: . context: .
file: ./BMA.EHR.Insignia/Dockerfile file: ./BMA.EHR.Insignia/Dockerfile
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-insignia:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-insignia:${{ env.IMAGE_VERSION }} tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-insignia:${{ env.IMAGE_VERSION }}
push: true push: true
- name: Remote Deploy - name: Remote Deploy
uses: appleboy/ssh-action@v1.2.1 uses: appleboy/ssh-action@v1.2.1
@ -57,4 +59,26 @@ jobs:
script: | script: |
cd ~/repo cd ~/repo
./replace-env.sh API_INSIGNIA "${{ env.IMAGE_VERSION }}" ./replace-env.sh API_INSIGNIA "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-api-insignia ./deploy.sh ${{ env.SERVICE_NAME }}
- name: Discord Notification
if: always()
run: |
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
curl -H "Content-Type: application/json" \
-X POST \
-d "{
\"embeds\": [{
\"title\": \"$STATUS\",
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
\"color\": $COLOR,
\"footer\": {
\"text\": \"Release Notification\",
\"icon_url\": \"https://example.com/success-icon.png\"
},
\"timestamp\": \"$TIMESTAMP\"
}]
}" \
${{ env.DISCORD_WEBHOOK }}

View file

@ -12,7 +12,9 @@ env:
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
SERVICE_NAME: hrms-api-leave
IMAGE_VERSION: build IMAGE_VERSION: build
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
jobs: jobs:
build: build:
@ -45,7 +47,7 @@ jobs:
platforms: linux/amd64 platforms: linux/amd64
context: . context: .
file: ./BMA.EHR.Leave/Dockerfile file: ./BMA.EHR.Leave/Dockerfile
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-leave:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-leave:${{ env.IMAGE_VERSION }} tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-leave:${{ env.IMAGE_VERSION }}
push: true push: true
- name: Remote Deploy - name: Remote Deploy
uses: appleboy/ssh-action@v1.2.1 uses: appleboy/ssh-action@v1.2.1
@ -57,4 +59,26 @@ jobs:
script: | script: |
cd ~/repo cd ~/repo
./replace-env.sh API_LEAVE "${{ env.IMAGE_VERSION }}" ./replace-env.sh API_LEAVE "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-api-leave ./deploy.sh ${{ env.SERVICE_NAME }}
- name: Discord Notification
if: always()
run: |
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
curl -H "Content-Type: application/json" \
-X POST \
-d "{
\"embeds\": [{
\"title\": \"$STATUS\",
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
\"color\": $COLOR,
\"footer\": {
\"text\": \"Release Notification\",
\"icon_url\": \"https://example.com/success-icon.png\"
},
\"timestamp\": \"$TIMESTAMP\"
}]
}" \
${{ env.DISCORD_WEBHOOK }}

View file

@ -12,7 +12,9 @@ env:
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
SERVICE_NAME: hrms-api-placement
IMAGE_VERSION: build IMAGE_VERSION: build
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
jobs: jobs:
build: build:
@ -45,7 +47,7 @@ jobs:
platforms: linux/amd64 platforms: linux/amd64
context: . context: .
file: ./BMA.EHR.Placement.Service/Dockerfile file: ./BMA.EHR.Placement.Service/Dockerfile
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-placement:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-placement:${{ env.IMAGE_VERSION }} tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-placement:${{ env.IMAGE_VERSION }}
push: true push: true
- name: Remote Deploy - name: Remote Deploy
uses: appleboy/ssh-action@v1.2.1 uses: appleboy/ssh-action@v1.2.1
@ -57,5 +59,26 @@ jobs:
script: | script: |
cd ~/repo cd ~/repo
./replace-env.sh API_PLACEMENT "${{ env.IMAGE_VERSION }}" ./replace-env.sh API_PLACEMENT "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-api-placement ./deploy.sh ${{ env.SERVICE_NAME }}
- name: Discord Notification
if: always()
run: |
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
curl -H "Content-Type: application/json" \
-X POST \
-d "{
\"embeds\": [{
\"title\": \"$STATUS\",
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
\"color\": $COLOR,
\"footer\": {
\"text\": \"Release Notification\",
\"icon_url\": \"https://example.com/success-icon.png\"
},
\"timestamp\": \"$TIMESTAMP\"
}]
}" \
${{ env.DISCORD_WEBHOOK }}

View file

@ -12,7 +12,9 @@ env:
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
SERVICE_NAME: hrms-api-report
IMAGE_VERSION: build IMAGE_VERSION: build
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
jobs: jobs:
build: build:
@ -45,7 +47,7 @@ jobs:
platforms: linux/amd64 platforms: linux/amd64
context: . context: .
file: ./BMA.EHR.Report.Service/Dockerfile file: ./BMA.EHR.Report.Service/Dockerfile
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-report:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-report:${{ env.IMAGE_VERSION }} tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
push: true push: true
- name: Remote Deploy - name: Remote Deploy
uses: appleboy/ssh-action@v1.2.1 uses: appleboy/ssh-action@v1.2.1
@ -57,4 +59,26 @@ jobs:
script: | script: |
cd ~/repo cd ~/repo
./replace-env.sh API_REPORT "${{ env.IMAGE_VERSION }}" ./replace-env.sh API_REPORT "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-api-report ./deploy.sh ${{ env.SERVICE_NAME }}
- name: Discord Notification
if: always()
run: |
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
curl -H "Content-Type: application/json" \
-X POST \
-d "{
\"embeds\": [{
\"title\": \"$STATUS\",
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
\"color\": $COLOR,
\"footer\": {
\"text\": \"Release Notification\",
\"icon_url\": \"https://example.com/success-icon.png\"
},
\"timestamp\": \"$TIMESTAMP\"
}]
}" \
${{ env.DISCORD_WEBHOOK }}

View file

@ -12,7 +12,9 @@ env:
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
SERVICE_NAME: hrms-api-retirement
IMAGE_VERSION: build IMAGE_VERSION: build
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
jobs: jobs:
build: build:
@ -45,7 +47,7 @@ jobs:
platforms: linux/amd64 platforms: linux/amd64
context: . context: .
file: ./BMA.EHR.Retirement.Service/Dockerfile file: ./BMA.EHR.Retirement.Service/Dockerfile
tags: ${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-retirement:latest,${{ env.CONTAINER_IMAGE_NAME }}/hrms-api-retirement:${{ env.IMAGE_VERSION }} tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
push: true push: true
- name: Remote Deploy - name: Remote Deploy
uses: appleboy/ssh-action@v1.2.1 uses: appleboy/ssh-action@v1.2.1
@ -57,4 +59,26 @@ jobs:
script: | script: |
cd ~/repo cd ~/repo
./replace-env.sh API_RETIREMENT "${{ env.IMAGE_VERSION }}" ./replace-env.sh API_RETIREMENT "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-api-retirement ./deploy.sh ${{ env.SERVICE_NAME }}
- name: Discord Notification
if: always()
run: |
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
curl -H "Content-Type: application/json" \
-X POST \
-d "{
\"embeds\": [{
\"title\": \"$STATUS\",
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
\"color\": $COLOR,
\"footer\": {
\"text\": \"Release Notification\",
\"icon_url\": \"https://example.com/success-icon.png\"
},
\"timestamp\": \"$TIMESTAMP\"
}]
}" \
${{ env.DISCORD_WEBHOOK }}