Skip to content

Moving workflows

Moving workflows #9

Workflow file for this run

name: Deploy to Ubuntu Server
on:
push:
branches:
- main # настройте ветки, при которых будет происходить деплой
jobs:
deploy:
runs-on: ubuntu-latest # используем последнюю версию Ubuntu
steps:
- name: Checkout repository
uses: actions/checkout@v2 # клонируем репозиторий в рабочую директорию
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'adopt' # укажите нужное распространение JDK, например, 'adopt', 'zulu', 'openjdk'
java-version: '11' # настраиваем версию Java
- name: Build with Maven
run: mvn -B package --file /Users/xyligan4eg/Coding/CodingITMO/DB/Lab03/weatherProject/userService/pom.xml # собираем проект с помощью Maven
- name: Deploy to Server
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }} # приватный SSH ключ, добавленный в secrets репозитория
# passphrase: ${{ secrets.SSH_PASSPHRASE }} # опционально, если ключ защищен паролем
source: '/Users/xyligan4eg/Coding/CodingITMO/DB/Lab03/weatherProject/userService/target/*.jar' # путь к собранному JAR файлу
target: '/home/xyl1gan4eg/myJavaProjects/weatherProject/userService' # целевая директория на сервере
- name: SSH into server and restart application
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }} # приватный SSH ключ, добавленный в secrets репозитория
# passphrase: ${{ secrets.SSH_PASSPHRASE }} # опционально, если ключ защищен паролем
script: |
sudo systemctl stop user-service.service
# Очистка старых версий
sudo rm -rf /home/xyl1gan4eg/myJavaProjects/weatherProject/userService/*
# Перемещение новой версии
sudo cp /home/xyl1gan4eg/myJavaProjects/weatherProject/userService/*.jar /home/xyl1gan4eg/myJavaProjects/weatherProject/userService/
sudo systemctl start user-service.service