--- 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