Skip to content

✨Feat: 웹소켓 기반 채팅 기능 구현 #29

✨Feat: 웹소켓 기반 채팅 기능 구현

✨Feat: 웹소켓 기반 채팅 기능 구현 #29

Workflow file for this run

name: CD
on:
push:
branches:
- main
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GIT_ACTION_TOKEN }}
submodules: true
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Grant execute permission for Gradlew
run: chmod +x gradlew
- name: Build with Gradle (prod profile)
run: ./gradlew clean bootjar -Pprofile=prod
- name: Docker build & push
run: docker buildx build -f ./docker/Dockerfile -t ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO }} --push .
deploy:
runs-on: self-hosted
needs: build
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Deploy on server
uses: appleboy/ssh-action@master
env:
ENV: ${{ secrets.ENV }}
with:
envs: ENV
host: ${{ secrets.SSH_HOST }}
port: ${{ secrets.SSH_PORT }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /home/ubuntu/actions-runner/_work/refit-be/refit-be/docker
echo "$ENV" > ./.env
echo "PROFILE=prod" >> ./.env
docker compose -f docker-compose.yml pull
docker compose -f docker-compose.yml up -d --build