Skip to content

Merge pull request #11 from whatever-mentoring/feature/WHAT-43 #3

Merge pull request #11 from whatever-mentoring/feature/WHAT-43

Merge pull request #11 from whatever-mentoring/feature/WHAT-43 #3

Workflow file for this run

# 작업명
name: CD NCP
# 실행해야 할 브랜치, push가 발생한 경우로만 한정하였다.
on:
push:
branches:
- 'develop'
- 'main'
jobs:
CD:
## NCP OS : Ubuntu 18.04
runs-on: ubuntu-18.04
steps:
## Project JDK 20 Setting
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK 20
uses: actions/setup-java@v3
with:
java-version: '20'
distribution: 'temurin'
# 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/${{ github.repository }}/whatssue:1.0 .
docker push ghcr.io/${{ github.repository }}/whatssue:1.0
# 개발서버 SSH접속 및 배포
- name: Deploy
uses: appleboy/ssh-action@master
id: deploy
if: contains(github.ref, 'develop') || 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.GITHUB_TOKEN }}" | sudo ghcr.io login -u ${{ github.actor }} --password-stdin
sudo docker rm -f $(docker ps -q -a)
sudo docker pull ghcr.io/${{ github.repository }}/whatssue:1.0
sudo docker run -d -p 8090:8090 --name whatssue ghcr.io/${{ github.repository }}/whatssue:1.0
sudo docker rm -f $(docker ps -q -a)
docker image prune -f