49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
name: Build and Deploy Java Project
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '21'
|
|
distribution: 'temurin'
|
|
cache: 'maven'
|
|
|
|
- name: Install Maven
|
|
run: sudo apt-get update && sudo apt-get install -y maven
|
|
|
|
- name: Build and Package with Maven
|
|
run: mvn clean package -DskipTests
|
|
|
|
- name: Rename JAR locally
|
|
run: mv target/*-jar-with-dependencies.jar target/notifier.jar
|
|
|
|
- name: Deploy JAR to Server
|
|
uses: appleboy/scp-action@master
|
|
with:
|
|
host: ${{ secrets.SERVER_IP }}
|
|
username: ${{ secrets.SERVER_USERNAME }}
|
|
password: ${{ secrets.SERVER_PASSWORD }}
|
|
source: "target/notifier.jar"
|
|
target: "/opt/notifier"
|
|
strip_components: 1
|
|
|
|
- name: Restart Service on Server
|
|
uses: appleboy/ssh-action@master
|
|
with:
|
|
host: ${{ secrets.SERVER_IP }}
|
|
username: ${{ secrets.SERVER_USERNAME }}
|
|
password: ${{ secrets.SERVER_PASSWORD }}
|
|
script: |
|
|
sudo systemctl restart notifier |