Add CI build/publish pipeline

pull/1/head
Dustin 2021-08-23 20:27:46 -05:00
parent b76eaa6427
commit baf04e9c62
5 changed files with 58 additions and 0 deletions

13
ci/Containerfile Normal file
View File

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

36
ci/Jenkinsfile vendored Normal file
View File

@ -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'
}
}
}
}
}

1
ci/build.sh Normal file
View File

@ -0,0 +1 @@
zola build --base-url /

5
ci/publish.sh Normal file
View File

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

3
ci/ssh_known_hosts Normal file
View File

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