fix: base image 변경 (#137) #84
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: Dev CI/CD | |
| on: | |
| push: | |
| branches: [ "develop" ] | |
| jobs: | |
| dev-integration: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| - name: Grant permission for gradlew | |
| run: chmod +x ./gradlew | |
| - name: Build with Gradle Wrapper | |
| run: ./gradlew clean build -x test | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hanjari-dev | |
| path: build/libs/*.jar | |
| retention-days: 1 | |
| dev-deployment: | |
| needs: dev-integration | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download Artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: hanjari-dev | |
| - name: Move Artifact | |
| run: | | |
| mkdir -p build/libs/ | |
| mv *.jar build/libs/ | |
| - name: Generate .env | |
| run: | | |
| echo "${{ secrets.DEV_ENV }}" > .env | |
| echo "${{ secrets.DEV_MYSQL_ENV }}" > mysql.env | |
| - name: Build Docker Image | |
| run: docker build -t ${{ secrets.DOCKER_USERNAME }}/${{secrets.DOCKER_DEV_REPO}}:latest . | |
| - name: Docker Login | |
| run: echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin | |
| - name: Push Docker Image | |
| run: docker push ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_REPO }}:latest | |
| - name: Copy file to EC2 | |
| uses: appleboy/scp-action@v0.1.7 | |
| with: | |
| host: ${{ secrets.DEV_EC2_HOST }} | |
| username: ${{ secrets.DEV_EC2_USERNAME }} | |
| key: ${{ secrets.DEV_SSH_PRIVATE_KEY }} | |
| source: ".env,mysql.env,dev-docker-compose.yml" | |
| target: ${{ secrets.DEV_EC2_PROJECT_PATH }} | |
| - name: Deploy to EC2 | |
| uses: appleboy/ssh-action@v1.2.0 | |
| with: | |
| host: ${{ secrets.DEV_EC2_HOST }} | |
| username: ${{ secrets.DEV_EC2_USERNAME }} | |
| key: ${{ secrets.DEV_SSH_PRIVATE_KEY }} | |
| script: | | |
| cd ${{ secrets.DEV_EC2_PROJECT_PATH }} | |
| echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin | |
| docker compose -f dev-docker-compose.yml down | |
| docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_REPO }}:latest | |
| docker tag ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_REPO }}:latest ${{ secrets.DOCKER_DEV_REPO }}:latest | |
| docker compose -f dev-docker-compose.yml up -d | |
| dependency-submission: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Generate and submit dependency graph | |
| uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 |