name: Build and Deploy Auction App on: push: branches: - master jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Java 17 uses: actions/setup-java@v4 with: distribution: temurin java-version: 17 - name: Build with Maven run: mvn -B clean package - name: Upload artifact uses: actions/upload-artifact@v4 with: name: auction path: target/*.jar deploy: needs: build runs-on: ubuntu-latest steps: - name: Download artifact uses: actions/download-artifact@v4 with: name: auction - name: Copy to server uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.SERVER_IP }} username: ${{ secrets.SERVER_USER }} key: ${{ secrets.SERVER_SSH_KEY }} source: "*.jar" target: "/opt/auction/app.jar" - name: Restart service uses: appleboy/ssh-action@v0.1.7 with: host: ${{ secrets.SERVER_IP }} username: ${{ secrets.SERVER_USER }} key: ${{ secrets.SERVER_SSH_KEY }} script: | sudo systemctl restart auction echo "Deployment complete"