bc/.gitea/workflows/deploy.yml
svoboda200786@gmail.com d0241d6053
Some checks failed
Deploy Project BC / deploy (push) Failing after 33s
test
2025-06-10 00:23:43 +03:00

57 lines
3.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Deploy Project BC
on:
push: # Запускать при событии push
branches:
- main # Только для ветки main (или master, или ваша основная ветка)
jobs:
deploy:
runs-on: ubuntu-latest # Указываем метку раннера, на котором должна выполняться задача.
# Убедитесь, что ваш зарегистрированный раннер имеет эту метку.
# Можно использовать и более специфичную, например, 'self-hosted' или имя вашего сервера, если вы так его пометили.
steps:
- name: Checkout repository
uses: actions/checkout@v3 # Стандартное действие для скачивания кода репозитория на раннер
- name: Setup Node.js # Если вам нужно определенная версия Node.js для npm install
uses: actions/setup-node@v3
with:
node-version: '18' # Укажите нужную вам LTS или другую версию Node.js
- name: Install Dependencies
run: | # Выполняем команды в рабочей директории раннера (куда был склонирован репозиторий)
echo "Current directory: $(pwd)"
if [ -f package.json ]; then
echo "package.json found. Installing dependencies..."
npm install --omit=dev
else
echo "package.json not found. Skipping npm install."
fi
working-directory: ./ # Указывает, что npm install нужно выполнять в корне склонированного репозитория
# Если package.json для bc.js в подпапке server/, то:
# working-directory: ./server
- name: Execute Deploy Script on Server
uses: appleboy/ssh-action@master # Популярное действие для выполнения команд по SSH
with:
host: ${{ secrets.DEPLOY_HOST }} # IP или домен вашего сервера, где нужно выполнить деплой
username: ${{ secrets.DEPLOY_USER }} # Имя пользователя для SSH-доступа
key: ${{ secrets.SSH_PRIVATE_KEY }} # Приватный SSH-ключ для доступа
port: ${{ secrets.DEPLOY_PORT || 22 }} # Порт SSH, по умолчанию 22
script: |
echo "Starting deployment on server for project bc..."
cd /home/nodejs/bc/ # Путь к рабочей копии проекта на сервере
git fetch origin main # Или ваша основная ветка
git reset --hard origin/main
# Если npm install должен выполняться на сервере деплоя, а не на раннере:
# if [ -f package.json ]; then
# echo "Installing server-side npm dependencies..."
# npm install --omit=dev
# fi
echo "Restarting PM2 process for bc..."
pm2 restart bc # Имя или ID вашего bc приложения в PM2
echo "Deployment for bc finished."