38 lines
938 B
YAML
38 lines
938 B
YAML
|
kind: pipeline
|
||
|
type: docker
|
||
|
name: deploy
|
||
|
|
||
|
steps:
|
||
|
- name: deploy
|
||
|
image: ubuntu
|
||
|
environment:
|
||
|
HOST:
|
||
|
from_secret: host
|
||
|
USER:
|
||
|
from_secret: user
|
||
|
SSH_KEY:
|
||
|
from_secret: ssh_key
|
||
|
SRC: content
|
||
|
when:
|
||
|
branch:
|
||
|
- main
|
||
|
|
||
|
commands:
|
||
|
# install stuff
|
||
|
- apt-get update -qq > /dev/null
|
||
|
- apt-get install ssh rsync -qq > /dev/null
|
||
|
|
||
|
# configure ssh identity by importing ssh key from secrets and adding it to
|
||
|
# ssh-agent. also disable strict host key checking as this is the first time
|
||
|
# the ephemeral runner is connecting to the remote host
|
||
|
- 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 the remote host
|
||
|
- ssh "$${USER}@$${HOST}" "[[ ! -d ~/gemini/content ]] || rm -r ~/gemini/content"
|
||
|
- rsync -rP content "$${USER}@$${HOST}:gemini"
|