Skip to content

BE CD for Dev

BE CD for Dev #227

Workflow file for this run

name: BE CD for Dev
on:
workflow_dispatch:
push:
branches: [ "develop" ]
paths:
- backend/**
jobs:
build:
timeout-minutes: 2
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setting application-dev.yml
run: |
echo "${{ secrets.APPLICATION_DEV_YML }}" > ./src/main/resources/application-dev.yml
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: bootJar with Gradle
run: ./gradlew bootJar -PcreateRestDocs
- name: Change artifact file name
run: mv build/libs/*.jar build/libs/app.jar
- name: Upload artifact file
uses: actions/upload-artifact@v4
with:
name: app-artifact
path: ./backend/build/libs/app.jar
deploy:
needs: build
timeout-minutes: 2
runs-on: [ self-hosted, linux, ARM64, dev ]
steps:
- name: Download artifact file
uses: actions/download-artifact@v4
with:
name: app-artifact
path: ~/app
- name: Replace application to latest
run: sudo sh ~/scripts/replace-new-version.sh
- name: Health check latest application
run: |
PID=$(lsof -t -i:8080)
if [ -z "${PID}" ]; then
echo "Fail to running application"
else
echo "Process $PID is running"
fi