ktyl.dev/.drone.yml

74 lines
1.6 KiB
YAML
Raw Normal View History

2022-09-27 09:32:11 +02:00
kind: pipeline
type: docker
name: deploy
steps:
- name: submodules
2022-09-27 22:28:59 +02:00
image: archlinux
2022-09-27 09:32:11 +02:00
commands:
2022-09-27 22:28:59 +02:00
- pacman -Sy --noconfirm git >/dev/null
2022-09-27 09:32:11 +02:00
- git submodule update --init --recursive
2022-09-27 23:13:58 +02:00
- 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
2022-09-27 09:32:11 +02:00
- name: deploy
2022-09-27 23:40:49 +02:00
image: ubuntu
2022-09-27 09:32:11 +02:00
environment:
HOST:
from_secret: host
USER:
from_secret: user
SSH_KEY:
from_secret: ssh_key
2022-09-27 23:52:04 +02:00
HOST_DIR: /var/www/${HOST}
BACKUP_DIR: ~/backups/${HOST}/${HOST}-${DRONE_STAGE_STARTED}
2022-09-27 09:32:11 +02:00
when:
branch:
- drone
commands:
2022-09-27 23:08:23 +02:00
# install deps
2022-09-27 23:40:49 +02:00
- apt-get update -qq > /dev/null
- apt-get install ssh rsync -qq > /dev/null
2022-09-27 09:32:11 +02:00
# 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
2022-09-27 23:52:04 +02:00
- host="$${USER}@$${HOST}"
- ssh $host "ls $${HOST_DIR}"
- ssh $host "mkdir -p $${BACKUP_DIR}"
- ssh $host "rsync -rP $${HOST_DIR}/* $${BACKUP_DIR}"
#- ssh $host 'echo "$host_dir -> $backup_dir"'
#- ssh $host "mkdir -p $backup_dir"
#- ssh $host "rsync -rP /var/www/${HOST}/* ${DRONE_STAGE_STARTED}"
#- ssh $host "ls site"
2022-09-27 23:24:16 +02:00
#- ssh
#- ssh "$${USER}@$${HOST}" "[[ ! -d ~/gemini/content ]] || rm -r ~/gemini/content"
#- rsync -rP content "$${USER}@$${HOST}:gemini"
2022-09-27 09:32:11 +02:00