Skip to content

[WHAT-73] security & jwt 토큰을 이용한 로그인 구현 (#61) #77

[WHAT-73] security & jwt 토큰을 이용한 로그인 구현 (#61)

[WHAT-73] security & jwt 토큰을 이용한 로그인 구현 (#61) #77

Workflow file for this run

# 작업명
name: CD NCP
# 실행해야 할 브랜치, push가 발생한 경우로만 한정하였다.
on:
push:
branches:
- 'develop'
- 'main'
jobs:
CD:
## 이거 NCP ubuntu OS 가 아니라, github Actions job 실행 환경의 ubuntu OS버전이다.
runs-on: ubuntu-latest
env:
RESOURCE_PATH: ./src/main/resources/application.yml
steps:
## Project JDK 17 Setting
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Set yml file
uses: microsoft/variable-substitution@v1
with:
files: ${{ env.RESOURCE_PATH }}
env:
spring.datasource.url: ${{ secrets.DB_HOST }}
spring.datasource.username: ${{ secrets.DB_USERNAME }}
spring.datasource.password: ${{ secrets.DB_PASSWORD }}
# Gradle의 사용권한 셋팅
- name: Grant Execute permission for gradlew
run: chmod +x gradlew
shell: bash
# 프로젝트 테스트 진행없이 빌드
- name: Build with Gradle
run: ./gradlew build -x test
shell: bash
# Docker 빌드 생성 및 푸시
- name: dev Docker build & push
if: contains(github.ref, 'main') || contains(github.ref, 'develop')
run: |
echo ${{ secrets.SONG_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin
docker build -f Dockerfile -t ghcr.io/whatever-mentoring/whatssue-be/whatssue:1.0 .
docker push ghcr.io/whatever-mentoring/whatssue-be/whatssue:1.0
# 개발서버 SSH접속 및 배포
- name: Deploy
uses: appleboy/ssh-action@master
id: deploy
if: contains(github.ref, 'main') || contains(github.ref, 'develop')
with:
host: ${{ secrets.NCP_DEV_SERVER_IP }}
username: ${{ secrets.NCP_DEV_SERVER_USER }}
password: ${{ secrets.NCP_DEV_SERVER_PASSWORD }}
port: ${{ secrets.NCP_DEV_SERVER_SSH_PORT }}
script: |
echo "${{ secrets.SONG_TOKEN }}" | sudo docker login ghcr.io -u ${{ github.actor }} --password-stdin
if [ "$(docker ps -aq -f name=whatssue-be)" ]; then
sudo docker stop whatssue-be
sudo docker rm whatssue-be
fi
# 이전 이미지를 제거합니다.
if [ "$(docker images -q ghcr.io/whatever-mentoring/whatssue-be/whatssue)" ]; then
sudo docker rmi ghcr.io/whatever-mentoring/whatssue-be/whatssue
fi
sudo docker pull ghcr.io/whatever-mentoring/whatssue-be/whatssue:1.0
sudo docker run -d -p 8090:8090 --name whatssue-be ghcr.io/whatever-mentoring/whatssue-be/whatssue:1.0
sudo docker image prune -f