Create README.md #50
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: Continuous Deployment | |
on: | |
push: | |
branches: ["develop"] | |
jobs: | |
deploy: | |
runs-on: ubuntu-20.04 | |
steps: | |
# 1. Compare branch 코드 내려 받기 | |
- name: Checkout PR | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
# 2. 자바 환경 설정 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
# Firebase를 위한 JSON 파일 생성 | |
- name: Create Json | |
uses: jsdaniell/[email protected] | |
with: | |
name: "./src/main/resources/gibble-d26f0-firebase-adminsdk-3g8d4-b7819966d6.json" | |
json: ${{ secrets.FIREBASE_PRODUCTION_JSON }} | |
# 3. Docker 이미지 build 및 push | |
- name: docker build and push | |
run: | | |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
docker build -t ${{ secrets.DOCKER_USERNAME }}/gibble:latest . | |
docker push ${{ secrets.DOCKER_USERNAME }}/gibble:latest | |
# 4. ec2 pull | |
- name: Deploy to server | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.SERVER_HOST }} | |
port: ${{ secrets.SERVER_SSH_PORT }} | |
username: ${{ secrets.SERVER_USERNAME }} | |
key: ${{ secrets.SERVER_KEY }} | |
script: | | |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
docker system prune -a -f | |
docker-compose down | |
docker rmi ${{ secrets.DOCKER_USERNAME }}/gibble:latest | |
docker pull ${{ secrets.DOCKER_USERNAME }}/gibble:latest | |
docker-compose up -d |