72 lines
1.6 KiB
YAML
72 lines
1.6 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: deploy
|
|
|
|
steps:
|
|
- name: submodules
|
|
image: archlinux
|
|
commands:
|
|
- pacman -Sy --noconfirm git >/dev/null
|
|
- git submodule update --init --recursive
|
|
|
|
- name: build
|
|
image: archlinux
|
|
environment:
|
|
PYTHON_ENV: python python-pipenv python-setuptools
|
|
when:
|
|
branch:
|
|
- drone
|
|
|
|
commands:
|
|
# set up python
|
|
- pacman -Sy --noconfirm make $PYTHON_ENV > /dev/null
|
|
- pipenv install
|
|
|
|
# build site
|
|
- make all
|
|
|
|
- name: deploy
|
|
image: ubuntu
|
|
environment:
|
|
HOST:
|
|
from_secret: host
|
|
USER:
|
|
from_secret: user
|
|
SSH_KEY:
|
|
from_secret: ssh_key
|
|
when:
|
|
branch:
|
|
- drone
|
|
|
|
commands:
|
|
# install deps
|
|
- apt-get update -qq > /dev/null
|
|
- apt-get install ssh rsync -qq > /dev/null
|
|
|
|
# configure ssh
|
|
- eval $(ssh-agent -s)
|
|
- mkdir -p ~/.ssh
|
|
- echo "$SSH_KEY" > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- ssh-add
|
|
- echo "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
|
|
|
|
# run operations on remote host
|
|
- host="$${USER}@$${HOST}"
|
|
|
|
- ssh $host 'host_dir="/var/www/$${HOST}"'
|
|
- ssh $host 'backup_dir="backups/${HOST}/${DRONE_STAGE_STARTED}"'
|
|
- ssh $host 'echo "$host_dir -> $backup_dir"'
|
|
# - ssh $host "mkdir -p $backup_dir"
|
|
# - ssh $host "rsync -rP $host_dir/* $backup_dir"
|
|
#- ssh $host "mkdir -p $backup_dir"
|
|
#- ssh $host "rsync -rP /var/www/${HOST}/* ${DRONE_STAGE_STARTED}"
|
|
#- ssh $host "ls site"
|
|
|
|
|
|
#- ssh
|
|
#- ssh "$${USER}@$${HOST}" "[[ ! -d ~/gemini/content ]] || rm -r ~/gemini/content"
|
|
#- rsync -rP content "$${USER}@$${HOST}:gemini"
|
|
|
|
|