Merge pull request #12 from whatever-mentoring/WHAT-36-Entity #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 작업명 | |
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 | |