Eng-Musa's picture
add deploy yaml pipeline
8fbda33
Raw
History Blame Contribute Delete
1.36 kB
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