32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
steps:
|
|
- name: deploy
|
|
image: alpine:latest
|
|
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
|
|
|
|
# Копирование файлов (вариант 1: rsync)
|
|
- rsync -av ./ deployer@192.168.0.109:/opt/testbot-git/
|
|
|
|
# Или (вариант 2: git clone на целевом сервере)
|
|
# - ssh -i ~/.ssh/id_rsa deployer@целевой-сервер "cd /var/www/myapp && git pull"
|
|
|
|
# Выполнение команд на целевом сервере
|
|
# - 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'
|
|
# "
|
|
environment:
|
|
- SSH_PRIVATE_KEY
|
|
when:
|
|
event: push
|
|
branch: main
|