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, manual] branch: main