Rsync и scp в drone
Publish date: Sep 13, 2022
Деплой в drone при помощи rsync:
Приготовим контейнер:
FROM alpine
LABEL maintainer="test@test.com"
RUN apk add rsync openssh-client
RUN mkdir /root/.ssh
Пропишем ключ в интерфейсе drone, ssh-key = …
.drone.yml
kind: pipeline
name: default
steps:
- name: deploy
image: rsync
pull: never
environment:
SSH_KEY:
from_secret: ssh-key
commands:
- echo "$SSH_KEY" > /root/.ssh/id_ed25519
- chmod 0600 /root/.ssh/id_ed25519
- rsync --chown=web:web -av --delete -e "ssh -o StrictHostKeyChecking=no" . web@web.lxs:/var/www/html/
Можно использовать готовый плагин scp:
- name: scp files
image: appleboy/drone-scp
pull: never
environment:
SSH_KEY:
from_secret: SSH_KEY
settings:
host: web.lxs
username: web
key: ${SSH_KEY}
port: 22
target: /var/www/html/
source: .