Merge pull request #180 from slid-todo/feature/complete #114
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: CD | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v2 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 | |
| - name: Add SSH host key | |
| run: | | |
| mkdir -p ~/.ssh | |
| ssh-keyscan -H ${{ secrets.HOST }} >> ~/.ssh/known_hosts | |
| chmod 644 ~/.ssh/known_hosts | |
| - name: Set up SSH private key | |
| run: | | |
| echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/private_key.pem | |
| chmod 600 ~/.ssh/private_key.pem | |
| - name: Build with Gradle | |
| run: ./gradlew build -x test | |
| - name: Upload JAR to Remote Server | |
| run: | | |
| echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/private_key.pem | |
| chmod 600 ~/.ssh/private_key.pem | |
| scp -i ~/.ssh/private_key.pem build/libs/todo-0.0.1-SNAPSHOT.jar ${{ secrets.USER }}@${{ secrets.HOST }}:${{ secrets.APP_DIR }} | |
| env: | |
| SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
| - name: Deploy to Remote Server | |
| run: | | |
| ssh -i ~/.ssh/private_key.pem ${{ secrets.USER }}@${{ secrets.HOST }} ' | |
| export APP_DIR="${{ secrets.APP_DIR }}"; | |
| export DB="${{ secrets.DB }}"; | |
| export DB_PASSWORD="${{ secrets.DB_PASSWORD }}"; | |
| export DB_USERNAME="${{ secrets.DB_USERNAME }}"; | |
| export HOST="${{ secrets.HOST }}"; | |
| export JWT_SECRET_KEY="${{ secrets.JWT_SECRET_KEY }}"; | |
| export S3_ACCESS_KEY="${{ secrets.S3_ACCESS_KEY }}"; | |
| export S3_SECRET_KEY="${{ secrets.S3_SECRET_KEY }}"; | |
| export BUCKET_NAME="${{ secrets.BUCKET_NAME }}"; | |
| bash -s | |
| ' < ./deploy.sh | |
| env: | |
| SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
| APP_DIR: ${{ secrets.APP_DIR }} | |
| DB: ${{ secrets.DB }} | |
| DB_PASSWORD: ${{ secrets.DB_PASSWORD }} | |
| DB_USERNAME: ${{ secrets.DB_USERNAME }} | |
| HOST: ${{ secrets.HOST }} | |
| JWT_SECRET_KEY: ${{ secrets.JWT_SECRET_KEY }} | |
| S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }} | |
| S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }} | |
| BUCKET_NAME: ${{ secrets.BUCKET_NAME }} |