diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 94fa33d..d872fa2 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -8,17 +8,24 @@ on: jobs: build-and-deploy: runs-on: ubuntu-latest + env: + SSH_AUTH_SOCK: /tmp/ssh_agent.sock steps: - name: Checkout source uses: actions/checkout@v4 + - name: Make Gradle wrapper executable + run: chmod +x ./gradlew + - name: Build JAR run: ./gradlew clean build -x test --no-daemon + - name: Rename JAR to app.jar + run: | + cp build/libs/*-SNAPSHOT.jar build/libs/app.jar + - name: Setup SSH with ssh-agent - env: - SSH_AUTH_SOCK: /tmp/ssh_agent.sock run: | mkdir -p ~/.ssh ssh-agent -a $SSH_AUTH_SOCK > /dev/null @@ -31,22 +38,21 @@ jobs: ssh-keyscan -H "${{ secrets.SERVER_HOST }}" >> ~/.ssh/known_hosts - name: Verify SSH connection - env: - SSH_AUTH_SOCK: /tmp/ssh_agent.sock run: | - ssh ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} "echo 'SSH connection successful'" + ssh -o StrictHostKeyChecking=no \ + ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} \ + "echo 'SSH connection successful'" - - name: Upload JAR to server - env: - SSH_AUTH_SOCK: /tmp/ssh_agent.sock + - name: Upload all deploy files run: | rsync -avz -e "ssh" \ - build/libs/*.jar \ - ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}:${{ secrets.DEPLOY_PATH }}/app.jar + build/libs/app.jar \ + Dockerfile \ + docker-compose.yml \ + ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}:${{ secrets.DEPLOY_PATH }}/ - name: Deploy via Docker Compose env: - SSH_AUTH_SOCK: /tmp/ssh_agent.sock DB_PASSWORD: ${{ secrets.DB_PASSWORD }} run: | ssh ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} << 'ENDSSH' diff --git a/Dockerfile b/Dockerfile index 1ea37d8..f7680a9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,5 @@ -FROM gradle:8.3-jdk17 AS builder -WORKDIR /app -COPY . . -RUN gradle clean build -x test --no-daemon - FROM eclipse-temurin:17-jre-jammy WORKDIR /app -COPY --from=builder /app/build/libs/*.jar app.jar - +COPY app.jar app.jar EXPOSE 8080 - ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file