Skip to content

Commit

Permalink
feat: 릴리즈 태그를 인풋으로 받아 해당 버전으로 프로덕션 서버 배포
Browse files Browse the repository at this point in the history
  • Loading branch information
choyoungwoo9 committed Feb 28, 2024
1 parent f266e64 commit c0e9f43
Showing 1 changed file with 37 additions and 64 deletions.
101 changes: 37 additions & 64 deletions .github/workflows/prod.deploy.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,50 @@
name: Production Server manual deploy

run-name: ${{ github.actor }} is manually deploying Production Server
name: Manual Deploy to Production

on:
workflow_dispatch:

# jobs:
# prod_deploy:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v2
# with:
# ref: ${{ github.event.release.tag_name }}
# - name: Get Release Notes
# run: |
# echo “Release Tag: ${{ github.event.release.tag_name }}”
# echo “Release Name: ${{ github.event.release.name }}”

# - name: Install sshpass
# run: sudo apt-get install -y sshpass

# - name: ProdServer CD
# env:
# SSH_DEVELOPER_PASSWORD: ${{secrets.PROD_SSH_DEVELOPER_PASSWORD}}
# GITHUB_CLIENT_ID: ${{ secrets.PROD_GITHUB_CLIENT_ID }}
# GITHUB_CLIENT_SECRETS: ${{ secrets.PROD_GITHUB_CLIENT_SECRETS }}
# DATABASE_HOST: ${{secrets.PROD_DATABASE_HOST}}
# DATABASE_PORT: ${{secrets.PROD_DATABASE_PORT}}
# DATABASE_USER: ${{ secrets.PROD_DATABASE_USER }}
# DATABASE_PASSWORD: ${{ secrets.PROD_DATABASE_PASSWORD }}
# DATABASE_NAME: ${{ secrets.PROD_DATABASE_NAME }}
# JWT_SECRET: ${{ secrets.PROD_JWT_SECRET }}
# run: |
# sshpass -p $SSH_DEVELOPER_PASSWORD \
# ssh -o "StrictHostKeyChecking=no" [email protected] \
# "cd /home/developer/web10-Lesser && git fetch --all && git checkout ${{github.event.release.tag_name}} && \
# GITHUB_CLIENT_ID=$GITHUB_CLIENT_ID \
# GITHUB_CLIENT_SECRETS=$GITHUB_CLIENT_SECRETS \
# DATABASE_HOST=$DATABASE_HOST \
# DATABASE_PORT=$DATABASE_PORT \
# DATABASE_USER=$DATABASE_USER \
# DATABASE_PASSWORD=$DATABASE_PASSWORD \
# DATABASE_NAME=$DATABASE_NAME \
# JWT_SECRET=$JWT_SECRET \
# docker compose -f docker-compose.yml up -d --build"
inputs:
release_tag:
description: 'Release tag to deploy'
required: true

jobs:
deploy:
prod_deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Get latest release
id: get_release
uses: actions/github-script@v3
with:
script: |
const { data: latestRelease } = await github.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo,
});
return latestRelease;
ref: ${{ github.event.inputs.release_tag }}

- name: Set release note
- name: Get Release Notes
run: |
echo "RELEASE_NOTE<<EOF" >> $GITHUB_ENV
echo "${{ steps.get_release.outputs.result.body }}" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Deploy to server
echo "Release Tag: ${{ github.event.inputs.release_tag }}"
echo "Release Name: $(git tag -l --format='%(contents)' ${{ github.event.inputs.release_tag }})"
- name: Install sshpass
run: sudo apt-get install -y sshpass

- name: ProdServer CD
env:
SSH_DEVELOPER_PASSWORD: ${{secrets.PROD_SSH_DEVELOPER_PASSWORD}}
GITHUB_CLIENT_ID: ${{ secrets.PROD_GITHUB_CLIENT_ID }}
GITHUB_CLIENT_SECRETS: ${{ secrets.PROD_GITHUB_CLIENT_SECRETS }}
DATABASE_HOST: ${{secrets.PROD_DATABASE_HOST}}
DATABASE_PORT: ${{secrets.PROD_DATABASE_PORT}}
DATABASE_USER: ${{ secrets.PROD_DATABASE_USER }}
DATABASE_PASSWORD: ${{ secrets.PROD_DATABASE_PASSWORD }}
DATABASE_NAME: ${{ secrets.PROD_DATABASE_NAME }}
JWT_SECRET: ${{ secrets.PROD_JWT_SECRET }}
run: |
echo "Deploying release note to server..."
# 여기에 서버에 릴리즈 노트를 적용하는 로직을 추가합니다.
echo "Release note deployed successfully."
sshpass -p $SSH_DEVELOPER_PASSWORD \
ssh -o "StrictHostKeyChecking=no" [email protected] \
"cd /home/developer/web10-Lesser && git fetch --all && git checkout ${{ github.event.inputs.release_tag }} && \
GITHUB_CLIENT_ID=$GITHUB_CLIENT_ID \
GITHUB_CLIENT_SECRETS=$GITHUB_CLIENT_SECRETS \
DATABASE_HOST=$DATABASE_HOST \
DATABASE_PORT=$DATABASE_PORT \
DATABASE_USER=$DATABASE_USER \
DATABASE_PASSWORD=$DATABASE_PASSWORD \
DATABASE_NAME=$DATABASE_NAME \
JWT_SECRET=$JWT_SECRET \
docker compose -f docker-compose.yml up -d --build"

0 comments on commit c0e9f43

Please sign in to comment.