Fix formatting in README.md #86
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
| name: Moongeul CI/CD | |
| on: | |
| push: | |
| branches: | |
| - develop # CI | |
| - main # CD | |
| permissions: | |
| contents: read | |
| jobs: | |
| # ─── CI: develop/main 공통 ───────────────────────────────────── | |
| build-docker-image: | |
| runs-on: ubuntu-latest | |
| # develop 또는 main 일 때만 실행 | |
| if: | | |
| github.ref == 'refs/heads/develop' || | |
| github.ref == 'refs/heads/main' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v3 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Create application.yml files | |
| run: | | |
| mkdir -p src/main/resources | |
| echo "${{ secrets.APPLICATION_YML }}" > src/main/resources/application.yml | |
| echo "${{ secrets.APPLICATION_BOOK_YML }}" > src/main/resources/application-book.yml | |
| echo "${{ secrets.APPLICATION_JWT_YML }}" > src/main/resources/application-jwt.yml | |
| echo "${{ secrets.APPLICATION_OAUTH2_YML }}" > src/main/resources/application-oauth.yml | |
| echo "${{ secrets.APPLICATION_PROHIBIT_NICKNAME_YML }}" > src/main/resources/application-prohibit_nickname.yml | |
| echo "${{ secrets.APPLICATION_AWS_YML }}" > src/main/resources/application-aws.yml | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v3 | |
| - name: Build with Gradle | |
| run: ./gradlew clean bootJar | |
| - name: Build Docker image | |
| run: docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/book_cicd_action:${{ github.ref_name }} . | |
| - name: Log in to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
| - name: Push Docker image | |
| run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/book_cicd_action:${{ github.ref_name }} | |
| run-docker-image-on-ec2: | |
| needs: build-docker-image | |
| runs-on: self-hosted | |
| # main 브랜치에서만 실행 | |
| if: github.ref == 'refs/heads/main' | |
| steps: | |
| - name: Pull latest Docker image | |
| run: sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/book_cicd_action:main | |
| - name: Stop existing container (if any) | |
| run: | | |
| sudo docker stop moongeul || true | |
| sudo docker rm moongeul || true | |
| - name: Run new container | |
| run: | | |
| sudo docker run \ | |
| --name moongeul \ | |
| --rm -d \ | |
| -p 8080:8080 \ | |
| ${{ secrets.DOCKERHUB_USERNAME }}/book_cicd_action:main | |
| - name: Clean up unused images | |
| run: sudo docker system prune -f |