bad descriptors in readme and moving abort environment variables to tag abort as success

This commit is contained in:
thelamer 2018-10-31 23:02:54 -07:00
parent a2b3d2a43d
commit f5c70c9ec6
2 changed files with 59 additions and 59 deletions

108
Jenkinsfile vendored
View File

@ -172,6 +172,59 @@ pipeline {
}
}
}
// Use helper container to render a readme from the template if needed
stage('Update-README') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
}
}
steps {
sh '''#! /bin/bash
TEMPDIR=$(mktemp -d)
docker pull linuxserver/doc-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
if [ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
git --git-dir ${TEMPDIR}/${LS_REPO}/.git add README.md
git --git-dir ${TEMPDIR}/${LS_REPO}/.git commit -m 'Bot Updating README from template'
git --git-dir ${TEMPDIR}/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
rm -Rf ${TEMPDIR}'''
script{
env.README_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
// Exit the build if the Readme was just updated
stage('README-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'README_UPDATED', value: 'true'
expression {
env.CONTAINER_NAME != null
}
}
steps {
script{
env.CI_URL = 'README_UPDATE'
env.RELEASE_LINK = 'README_UPDATE'
env.EXIT_STATUS = 'ABORTED'
currentBuild.rawBuild.result = Result.ABORTED
throw new hudson.AbortException('ABORTED_README')
}
}
}
/* ###############
Build Container
############### */
@ -324,8 +377,8 @@ pipeline {
script{
env.CI_URL = 'IGNORE_PACKAGECHECK'
env.RELEASE_LINK = 'IGNORE_PACKAGECHECK'
currentBuild.rawBuild.result = Result.ABORTED
env.EXIT_STATUS = 'ABORTED'
currentBuild.rawBuild.result = Result.ABORTED
throw new hudson.AbortException('ABORTED_PACKAGE')
}
}
@ -478,59 +531,6 @@ pipeline {
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}
}
// Use helper container to render a readme from the template if needed
stage('Update-README') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
}
}
steps {
sh '''#! /bin/bash
TEMPDIR=$(mktemp -d)
docker pull linuxserver/doc-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
if [ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
git --git-dir ${TEMPDIR}/${LS_REPO}/.git add README.md
git --git-dir ${TEMPDIR}/${LS_REPO}/.git commit -m 'Bot Updating README from template'
git --git-dir ${TEMPDIR}/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
rm -Rf ${TEMPDIR}'''
script{
env.README_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
// Exit the build if the Readme was just updated
stage('README-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'README_UPDATED', value: 'true'
expression {
env.CONTAINER_NAME != null
}
}
steps {
script{
env.CI_URL = 'README_UPDATE'
env.RELEASE_LINK = 'README_UPDATE'
currentBuild.rawBuild.result = Result.ABORTED
env.EXIT_STATUS = 'ABORTED'
throw new hudson.AbortException('ABORTED_README')
}
}
}
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
when {

View File

@ -25,11 +25,11 @@ param_ports:
param_usage_include_env: true
param_env_vars:
- { env_var: "APP_URL", env_value: "<hostname or ip>", desc: "Hostname or IP and port if applicable IE 192.168.10.1:8080"}
- { env_var: "MYSQL_PORT_3306_TCP_ADDR", env_value: "<mysql host>", desc: "Redis port (optional)"}
- { env_var: "MYSQL_PORT_3306_TCP_PORT", env_value: "<mysql port>", desc: "ElasticSearch host (optional)"}
- { env_var: "MYSQL_DATABASE", env_value: "<mysql database>", desc: "ElasticSearch port (optional)"}
- { env_var: "MYSQL_USER", env_value: "<mysql pass>", desc: "ElasticSearch username (optional)"}
- { env_var: "MYSQL_PASSWORD", env_value: "changeme", desc: "ElasticSearch password (optional)"}
- { env_var: "MYSQL_PORT_3306_TCP_ADDR", env_value: "<mysql host>", desc: "Mysql hostname or IP to use"}
- { env_var: "MYSQL_PORT_3306_TCP_PORT", env_value: "<mysql port>", desc: "Mysql port to use"}
- { env_var: "MYSQL_DATABASE", env_value: "<mysql database>", desc: "Mysql database to use"}
- { env_var: "MYSQL_USER", env_value: "<mysql pass>", desc: "Mysql user to use"}
- { env_var: "MYSQL_PASSWORD", env_value: "changeme", desc: "Mysql password to use"}
optional_parameters: |
This container also generates an SSL certificate and stores it in