Skip to content

Merge pull request #309 from CampingOn/silverzoo-patch-1 #66

Merge pull request #309 from CampingOn/silverzoo-patch-1

Merge pull request #309 from CampingOn/silverzoo-patch-1 #66

Workflow file for this run

name: Deploy to EC2 with Docker hub
on:
push:
branches:
- dev
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# 소스코드 체크아웃
- name: Checkout code
uses: actions/[email protected]
# Docker hub 로그인
- name: Log in to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# Docker 이미지 빌드 및 푸시
- name: Build and push Docker images
uses: docker/[email protected]
with:
context: . # Dockerfile 위치
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/camping-on:latest
# 3. EC2에서 환경 변수를 설정하고 애플리케이션 실행
- name: Run jar on EC2 with environment variables
uses: appleboy/[email protected]
with:
host: ${{secrets.EC2_HOST}}
username: ${{secrets.EC2_USERNAME}}
key: ${{ secrets.EC2_PRIVATE_KEY }}
port: 22
script: |
# Docker Hub 로그인
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
# 최신 이미지 가져오기
docker pull ${{ secrets.DOCKER_USERNAME }}/camping-on:latest
# 기존 컨테이너 중지 및 삭제
docker stop camping-on || true
docker rm camping-on || true
# 새 컨테이너 실행
docker run -d \
--env-file ${{ secrets.EC2_TARGET_PATH }}/.env \
--name camping-on \
--network campingon-network \
-p 8080:8080 \
-v ${{ secrets.EC2_TARGET_PATH }}/logs:/app/logs \
${{ secrets.DOCKER_USERNAME }}/camping-on:latest