ci: smtp: Convert to using shared library

btop
Dustin 2022-11-09 21:35:18 -06:00
parent db28544824
commit eff98691fe
1 changed files with 9 additions and 95 deletions

View File

@ -1,97 +1,11 @@
// vim: set ft=groovy sw=4 ts=4 sts=4 et : // vim: set ft=groovy sw=4 ts=4 sts=4 et :
@Library('cfgpol')_
pipeline { applyConfigPolicy(
agent { 'smtp-relay',
dockerfile { [
dir 'ci' 'SMTP': [
args '''\ 'smtp-relay.yml'
-v /etc/ssh/ssh_known_hosts:/etc/ssh/ssh_known_hosts:ro ]
''' ]
} )
}
options {
lock 'cfgpol'
timeout(time: 1, unit: 'HOURS')
}
triggers {
cron 'H H * * *'
}
environment {
KRB5CCNAME = "${WORKSPACE}/.krb5cc"
}
stages {
stage('kinit') {
steps {
withCredentials([file(
credentialsId: 'keytab-jenkins@pyrocufflink.blue',
variable: 'KEYTAB')]) {
sh 'kinit -kt "${KEYTAB}" jenkins@PYROCUFFLINK.BLUE'
}
}
}
stage('Remount R/W') {
steps {
withCredentials([file(
credentialsId: 'vault-jenkins@pyrocufflink.blue',
variable: 'SUDO_PASS_FILE')]) {
ansiblePlaybook \
playbook: 'remount.yml',
limit: 'smtp-relay',
become: true,
vaultCredentialsId: 'ansible-vault',
extraVars: [
remount_state: 'rw',
],
extras: '-e@"${SUDO_PASS_FILE}"'
}
}
}
stage('SMTP') {
steps {
withCredentials([file(
credentialsId: 'vault-jenkins@pyrocufflink.blue',
variable: 'SUDO_PASS_FILE')]) {
ansiblePlaybook \
playbook: 'smtp-relay.yml',
become: true,
vaultCredentialsId: 'ansible-vault',
extras: '-e@"${SUDO_PASS_FILE}" --diff'
}
}
}
stage('Remount R/O') {
steps {
withCredentials([file(
credentialsId: 'vault-jenkins@pyrocufflink.blue',
variable: 'SUDO_PASS_FILE')]) {
ansiblePlaybook \
playbook: 'remount.yml',
limit: 'smtp-relay',
become: true,
vaultCredentialsId: 'ansible-vault',
extras: '-e@"${SUDO_PASS_FILE}"'
}
}
}
}
post {
always {
sh 'kdestroy'
}
failure {
emailext \
to: 'gyrfalcon@ebonfire.com',
subject: '$DEFAULT_SUBJECT',
body: '$DEFAULT_CONTENT'
}
}
}