Skip to content

chore : docker compose 들 작성 #1

chore : docker compose 들 작성

chore : docker compose 들 작성 #1

Workflow file for this run

name: CD - Deploy to Server via SSH
on:
push:
branches:
- main # ✅ 오직 main 브랜치 push만 트리거
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
environment: production # ✅ production 환경 secrets와 연결
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: List files for debug
run: ls -al && ls -al backend
- name: Upload docker-compose file to server
uses: appleboy/scp-action@v0.1.4
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SERVER_SSH_KEY }}
source: .
target: /home/ubuntu/app
- name: Connect & Deploy via SSH
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SERVER_SSH_KEY }}
script: |
export SECRET_KEY="${{ secrets.SECRET_KEY }}"
export MYSQL_USER="${{ secrets.MYSQL_USER }}"
export MYSQL_PASSWORD="${{ secrets.MYSQL_PASSWORD }}"
export MYSQL_DATABASE="${{ secrets.MYSQL_DATABASE }}"
export MYSQL_ROOT_PASSWORD="${{ secrets.MYSQL_ROOT_PASSWORD }}"
export AWS_ACCESS_KEY="${{ secrets.AWS_ACCESS_KEY }}"
export AWS_SECRET_KEY="${{ secrets.AWS_SECRET_KEY }}"
export AWS_S3_BUCKET_NAME="${{ secrets.AWS_S3_BUCKET_NAME }}"
export AWS_S3_REGION="${{ secrets.AWS_S3_REGION }}"
export GOOGLE_APPLICATION_CREDENTIALS="${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}"
export RABBITMQ_USER="${{ secrets.RABBITMQ_USER }}"
export RABBITMQ_PASSWORD="${{ secrets.RABBITMQ_PASSWORD }}"
cd /home/ubuntu/app
docker compose -f docker-compose.backend.yml pull
docker compose -f docker-compose.portainer.yml down
docker compose -f docker-compose.traefik.yml up -d --build