Merge pull request #142 from Susanghan-guys/fix/#141-get-report #61
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 Pipeline | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Make application.yml for dev | |
| run: | | |
| mkdir -p src/main/resources | |
| echo "${{ secrets.APPLICATION_YML_DEV }}" > src/main/resources/application.yml | |
| shell: bash | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| - name: Build with Gradle | |
| uses: gradle/gradle-build-action@v2 | |
| with: | |
| arguments: build | |
| - name: Upload deployment files | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deployment-files | |
| path: | | |
| build/libs/server-0.0.1-SNAPSHOT.jar | |
| Dockerfile | |
| docker-compose-dev.yml | |
| deploy: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deployment-files | |
| path: deployment | |
| - name: Debug Check downloaded files | |
| run: ls -R deployment | |
| - name: Deploy to EC2 (dev) using Docker | |
| env: | |
| EC2_SSH_KEY: ${{ secrets.EC2_DEV_SSH_KEY }} | |
| EC2_USERNAME: ${{ secrets.EC2_DEV_USERNAME }} | |
| EC2_HOST: ${{ secrets.EC2_DEV_HOST }} | |
| run: | | |
| echo "$EC2_SSH_KEY" > private_key.pem | |
| chmod 600 private_key.pem | |
| function sync_file() { | |
| local source_file=$1 | |
| local target_path="/home/$EC2_USERNAME/" | |
| rsync -avz -e "ssh -i private_key.pem -o StrictHostKeyChecking=no" \ | |
| "$source_file" "$EC2_USERNAME@$EC2_HOST:$target_path" | |
| } | |
| sync_file deployment/build/libs/server-0.0.1-SNAPSHOT.jar | |
| sync_file deployment/Dockerfile | |
| sync_file deployment/docker-compose-dev.yml | |
| ssh -i private_key.pem -o StrictHostKeyChecking=no $EC2_USERNAME@$EC2_HOST " | |
| cd /home/$EC2_USERNAME/ | |
| docker-compose -f docker-compose-dev.yml down | |
| docker-compose -f docker-compose-dev.yml up --build -d | |
| " | |
| rm -f private_key.pem |