Skip to content

Merge remote-tracking branch 'origin/main' #2

Merge remote-tracking branch 'origin/main'

Merge remote-tracking branch 'origin/main' #2

Workflow file for this run

on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout source code (with submodules)
uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.GH_PAT }}
- name: Set up Docker
uses: docker/setup-buildx-action@v2
with:
version: latest
- name: Build with Gradle
run: |
./gradlew build
- name: Build Docker image
run: |
docker build -t day024/fitifitbannerit:latest -f Dockerfile .
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Push Docker image to Docker Hub
run: |
docker push day024/fitifitbannerit:latest
# Set up AWS credentials for S3 operations
- name: Set up AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2 # 아시아 태평양(서울)
# EC2로 Docker Hub에서 이미지를 풀(pull)
- name: Copy Docker image from Docker Hub to EC2
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.EC2_KEY }}
script: |
# Docker 설치 (필요시)
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
# Docker Hub에서 최신 이미지 풀
docker pull day024/fitifitbannerit:latest
# 기존 컨테이너 중지 및 삭제 (필요시)
docker ps -a -q --filter "name=fitifitbannerit" | xargs --no-run-if-empty docker stop | xargs --no-run-if-empty docker rm
# 새로운 컨테이너 실행
docker run -d --name fitifitbannerit -p 8080:8080 day024/fitifitbannerit:latest