steps: - name: deploy image: alpine:latest environment: SSH_PRIVATE_KEY: ${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 # Копирование файлов (вариант 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' # " when: event: push branch: main