diff --git a/Jenkinsfile b/Jenkinsfile index efe140d..328abdb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -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 { diff --git a/readme-vars.yml b/readme-vars.yml index 8f2a5ba..652da91 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -25,11 +25,11 @@ param_ports: param_usage_include_env: true param_env_vars: - { env_var: "APP_URL", env_value: "", desc: "Hostname or IP and port if applicable IE 192.168.10.1:8080"} - - { env_var: "MYSQL_PORT_3306_TCP_ADDR", env_value: "", desc: "Redis port (optional)"} - - { env_var: "MYSQL_PORT_3306_TCP_PORT", env_value: "", desc: "ElasticSearch host (optional)"} - - { env_var: "MYSQL_DATABASE", env_value: "", desc: "ElasticSearch port (optional)"} - - { env_var: "MYSQL_USER", env_value: "", desc: "ElasticSearch username (optional)"} - - { env_var: "MYSQL_PASSWORD", env_value: "changeme", desc: "ElasticSearch password (optional)"} + - { env_var: "MYSQL_PORT_3306_TCP_ADDR", env_value: "", desc: "Mysql hostname or IP to use"} + - { env_var: "MYSQL_PORT_3306_TCP_PORT", env_value: "", desc: "Mysql port to use"} + - { env_var: "MYSQL_DATABASE", env_value: "", desc: "Mysql database to use"} + - { env_var: "MYSQL_USER", env_value: "", 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