diff --git a/ci/Containerfile b/ci/Containerfile new file mode 100644 index 0000000..9431b75 --- /dev/null +++ b/ci/Containerfile @@ -0,0 +1,13 @@ +FROM alpine + +RUN echo jenkins:*:3000018:3000017::/var/lib/jenkins:/bin/bash >> /etc/passwd + +RUN apk update && \ + apk add zola --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ && \ + apk add \ + openssh-client-default \ + rsync \ + && \ + rm -rf /var/cache/apk/* + +COPY ssh_known_hosts /etc/ssh/ssh_known_hosts diff --git a/ci/Jenkinsfile b/ci/Jenkinsfile new file mode 100644 index 0000000..8184b16 --- /dev/null +++ b/ci/Jenkinsfile @@ -0,0 +1,36 @@ +// vim: set ft=groovy sw=4 ts=4 sts=4 et : + +pipeline { + agent { + dockerfile { + dir 'ci' + filename 'Containerfile' + } + } + + options { + disableConcurrentBuilds() + } + + triggers { + pollSCM '' + } + + stages { + + stage('Build') { + steps { + sh '. ci/build.sh' + } + } + + stage('Publish') { + steps { + sshagent(['jenkins-web']) { + sh '. ci/publish.sh' + } + } + } + + } +} diff --git a/ci/build.sh b/ci/build.sh new file mode 100644 index 0000000..df66631 --- /dev/null +++ b/ci/build.sh @@ -0,0 +1 @@ +zola build --base-url / diff --git a/ci/publish.sh b/ci/publish.sh new file mode 100644 index 0000000..41ef149 --- /dev/null +++ b/ci/publish.sh @@ -0,0 +1,5 @@ +PUBLISH_HOST=web0.pyrocufflink.blue +PUBLISH_USER=webapp.dchblog +PUBLISH_PATH=htdocs/ + +rsync -aP public/ ${PUBLISH_USER}@${PUBLISH_HOST}:${PUBLISH_PATH} diff --git a/ci/ssh_known_hosts b/ci/ssh_known_hosts new file mode 100644 index 0000000..143ea63 --- /dev/null +++ b/ci/ssh_known_hosts @@ -0,0 +1,3 @@ +web0.pyrocufflink.blue ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiPEYK3yj4VT48S8l2bXE+Uj7qjPBxSglThzMEelJi3nxw7JYBD55Bxt/1pRR8j4VQHF5WOw0YCe6AA4Bwk1VbRImbPaoBGpZc6kqAU6elmlfuEN2icLwaUlGSDxkDtm1RRqZXui0z83yQdTAVb1ZEUvDU2nmhJPQG2rOGW8UyCqXOxAz6piBcIQ2+aSXRiSAP6AM2gS7uBZTxXI184qL5yLMCBYtGd/YfKolBifQZwOcOCdIfaDTWkTq0wUqKrl9FEkMLh3hxQ1BOKVAKKHiuaOwyM7f9LXavmxUDX6iaealJ4l4GCxTZ4qHSrvyjqPzJKnM8MK2rWq/eCGzsFJ7B +web0.pyrocufflink.blue ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAA5pjpKJvOFNRuVStzuAHoFu1hcWRMTHeohI83PCoVx +web0.pyrocufflink.blue ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOpP49ZRKa6NjGGkj+5yTQGcUI7xg1GRtoG2sLgMKuPD7s7wr50yPPWmcl7zLSmuQxIywJa8LPH8bhyX7rgH4zo=