40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
steps:
|
|
- name: deploy
|
|
image: alpine:latest
|
|
environment:
|
|
SSH_PRIVATE_KEY:
|
|
from_secret: SSH_PRIVATE_KEY
|
|
commands:
|
|
# Установка SSH-клиента
|
|
- apk add --no-cache openssh-client rsync
|
|
# Настройка SSH-ключа из секрета
|
|
- mkdir -p ~/.ssh
|
|
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
|
|
- ssh-keyscan 192.168.0.109 >> ~/.ssh/known_hosts
|
|
|
|
# Копирование файлов
|
|
- |
|
|
rsync -av \
|
|
--exclude='.git' \
|
|
--exclude='.woodpecker.yml' \
|
|
--exclude='.cursorignore' \
|
|
./ deployer@192.168.0.109:/opt/testbot-git/
|
|
|
|
- |
|
|
ssh -i ~/.ssh/id_rsa deployer@192.168.0.109 \
|
|
"cd /opt/testbot-git/services && chmod +x post-deploy.sh && ./post-deploy.sh"
|
|
|
|
# Выполнение команд на целевом сервере
|
|
# - ssh -i ~/.ssh/id_rsa deployer@целевой-сервер "
|
|
# cd /var/www/myapp &&
|
|
# systemctl --user daemon-reload || sudo systemctl daemon-reload &&
|
|
# sudo systemctl restart myservice &&
|
|
# echo '✅ Deploy completed'
|
|
# "
|
|
|
|
when:
|
|
event: push
|
|
branch: main
|