sharpetronics.com/.drone.yml
oDinZu b0f40350f1
Some checks failed
continuous-integration/drone/push Build is failing
drone ci ssh test
2022-05-10 16:25:42 -04:00

100 lines
3.1 KiB
YAML

---
kind: pipeline
type: docker
name: build
workspace:
path: /drone/src
platform:
os: linux
arch: amd64
trigger:
branch:
- master
steps:
- name: build-website
image: ruby:latest
environment:
GITEA_USER:
from_secret: gitea_user
GITEA_PASS:
from_secret: gitea_pass
SSH_USER:
from_secret: ssh_user
SSH_HOST:
from_secret: ssh_host
RSA_KEY:
from_secret: rsa_key
RSA_PUB_KEY:
from_secret: rsa_pub_key
SERVER_PASS:
from_secret: server_pass
privileged: false
volumes:
- name: jekyll
path: /srv/jekyll
commands:
# general vm information for debugging
- whoami
- pwd
- ls -al
- getent passwd
- git --version && git status && ssh --version
# add dependencies to tmp vm machine
- apt-get update && apt-get -y install rsync #sshpass
#- sshpass -h
# write the ssh key to disk for rsync handshake to remote server
#- ssh-keygen -t ed25519 -f ~/.ssh/id_rsa -N ''
#- touch ~/password.txt
#- echo -n $SERVER_PASS > ~/password.txt
#- echo $SERVER_PASS
#- cat ~/password.txt
#- sshpass -vp $SERVER_PASS ssh-copy-id -i ~/.ssh/id_rsa.pub odinzu@45.33.119.101
- service ssh start
- mkdir -p ~/.ssh/
- touch ~/.ssh/id_rsa
- touch ~/.ssh/id_rsa.pub
- echo -n "-----BEGIN OPENSSH PRIVATE KEY-----b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZWQyNTUxOQAAACA32n6ZWXN/Rme7UmXO7hrzCpeoP5AX9KT0UQm8KAV3jgAAAJhPeME/T3jBPwAAAAtzc2gtZWQyNTUxOQAAACA32n6ZWXN/Rme7UmXO7hrzCpeoP5AX9KT0UQm8KAV3jgAAAEBd+2cwrEiYpslkwUaQkJQKh1n+OQ0LzbKfg6QTFvHWkDfafplZc39GZ7tSZc7uGvMKl6g/kBf0pPRRCbwoBXeOAAAAEG9kaW56dUBsaTQzNS0xNDABAgMEBQ==-----END OPENSSH PRIVATE KEY-----" > ~/.ssh/id_rsa
- echo -n "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDfafplZc39GZ7tSZc7uGvMKl6g/kBf0pPRRCbwoBXeO odinzu@li435-140" > ~/.ssh/id_rsa.pub
- cat ~/.ssh/id_rsa.pub
- chmod 600 ~/.ssh/id_rsa
- eval `ssh-agent -s`
- ssh-add ~/.ssh/id_rsa
#- cp /root/.ssh/id_rsa.pub ~/.ssh/authorized_keys
#- ls -al /root/.ssh/
# setup Jekyll permissions and build jekyll site
- adduser --no-create-home --disabled-password --gecos "" jekyll
- chown -R jekyll:jekyll /drone/src
- gem install bundler
- bundle install
- bundle exec jekyll build --trace
# prepare _site dir
- ls -a _site/
- rm _site/docker-compose.yml
# update www-data branch with fresh drone ci Jekyll _site build
- git clone https://git.sharpetronics.com/sharpetronics/sharpetronics.com.git
- cd sharpetronics.com/
- git checkout www-data
- cp -R ../_site/* .
- git add *
- git commit -m "bots beeing bots! A drone www-data push"
- git push https://$GITEA_USER:$GITEA_PASS@git.sharpetronics.com/sharpetronics/sharpetronics.com.git
# sync files to remote server [local _site ] to [remote _site www]
- rsync -aXvPzr ../_site --rsh="ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no" odinzu@45.33.119.101:/var/www/demo.sharpetronics.com/
# create tar.gz of _site directory for download elsewhere
- tar -czf ../www-data.tar.gz ../_site/*
- ls ../ww*
# TBC... add download of files from download.sharpetronics.com