Spaces:
Sleeping
Sleeping
| name: Deploy Chatbot Backend | |
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4.2.2 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v4.7.0 | |
| with: | |
| java-version: '25' | |
| distribution: 'temurin' | |
| cache: 'maven' | |
| - name: Setup SSH | |
| uses: webfactory/ssh-agent@v0.9.1 | |
| with: | |
| ssh-private-key: ${{ secrets.VPS_SSH_KEY }} | |
| - name: Add server to known hosts | |
| run: | | |
| mkdir -p ~/.ssh | |
| ssh-keyscan -H ${{ secrets.VPS_IP }} >> ~/.ssh/known_hosts | |
| - name: Build JAR | |
| run: | | |
| chmod +x mvnw | |
| ./mvnw clean package -DskipTests | |
| - name: Deploy JAR to Server | |
| run: | | |
| JAR_NAME="chatbot-bridge-service-0.0.1-SNAPSHOT.jar" | |
| LOCAL_JAR_PATH="target/$JAR_NAME" | |
| REMOTE_SERVER="${{ secrets.VPS_USER }}@${{ secrets.VPS_IP }}" | |
| REMOTE_JAR_DIR="/home/ubuntu" | |
| # Upload jar | |
| rsync -avz -e "ssh" $LOCAL_JAR_PATH $REMOTE_SERVER:$REMOTE_JAR_DIR/$JAR_NAME | |
| # Replace and restart safely | |
| ssh $REMOTE_SERVER << EOF | |
| mv $REMOTE_JAR_DIR/$JAR_NAME $REMOTE_JAR_DIR/chatbot.jar && \ | |
| sudo systemctl restart chatbot.service | |
| EOF |