Merge remote-tracking branch 'origin/main' #2
This file contains hidden or 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
| 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 |