mirror of
https://github.com/linuxserver/docker-snipe-it.git
synced 2026-02-20 02:30:44 +08:00
reverting Jenkinsfile changes until the ci process is vetted in development
This commit is contained in:
parent
5616bf445e
commit
ca47a93554
207
Jenkinsfile
vendored
207
Jenkinsfile
vendored
@ -43,14 +43,6 @@ pipeline {
|
||||
DIST_REPO = 'none'
|
||||
DIST_REPO_PACKAGES = 'none'
|
||||
MULTIARCH='true'
|
||||
CI='true'
|
||||
CI_PORT='80'
|
||||
CI_SSL='false'
|
||||
CI_DELAY='5'
|
||||
CI_DOCKERENV='APP_URL=_|DB_CONNECTION=sqlite_testing'
|
||||
CI_AUTH='user:password'
|
||||
CI_WEBPATH=''
|
||||
CI_URL='none'
|
||||
}
|
||||
stages {
|
||||
// Setup all the basic environment variables needed for the build
|
||||
@ -425,183 +417,10 @@ pipeline {
|
||||
/* #######
|
||||
Testing
|
||||
####### */
|
||||
// Tag to the Dev user dockerhub endpoint when this is a non master branch
|
||||
stage('Docker-Tag-Dev-Single') {
|
||||
when {
|
||||
not {
|
||||
branch "master"
|
||||
}
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
expression{
|
||||
env.MULTIARCH == 'false'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
echo 'Tag the release for dev'
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
}
|
||||
}
|
||||
// Tag to the Dev user dockerhub endpoint when this is a non master branch
|
||||
stage('Docker-Tag-Dev-Multi') {
|
||||
when {
|
||||
not {
|
||||
branch "master"
|
||||
}
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
expression{
|
||||
env.MULTIARCH == 'true'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
echo 'Tag the releases for dev'
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:amd64-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:arm32v6-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:arm64v8-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
}
|
||||
}
|
||||
// Tag to PR user dockerhub endpoint when this is a pull request
|
||||
stage('Docker-Tag-PR-Single') {
|
||||
when {
|
||||
not {
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
expression{
|
||||
env.MULTIARCH == 'false'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
echo 'Tag the release for pr'
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
}
|
||||
}
|
||||
// Tag to PR user dockerhub endpoint when this is a pull request
|
||||
stage('Docker-Tag-PR-Multi') {
|
||||
when {
|
||||
not {
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
expression{
|
||||
env.MULTIARCH == 'true'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
echo 'Tag the releases for pr'
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:amd64-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:arm32v6-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:arm64v8-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
}
|
||||
}
|
||||
// Before we test we need to define the endpoint and tags for the report to push to
|
||||
stage('Test-setenv') {
|
||||
when {
|
||||
expression {
|
||||
env.CI == 'true'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
script{
|
||||
env.CI_IMAGE = sh(
|
||||
script: '''#! /bin/bash
|
||||
# If this is a live release use the live image endpoint
|
||||
if [ "${GIT_BRANCH}" == "master" ] && [ -z "CHANGE_ID" ]; then
|
||||
echo ${DOCKERHUB_IMAGE}
|
||||
# If this is a dev release use dev image endpoint
|
||||
elif [ "${GIT_BRANCH}" != "master" ] && [ -z "CHANGE_ID" ]; then
|
||||
echo ${DEV_DOCKERHUB_IMAGE}
|
||||
# This is a PR
|
||||
else:
|
||||
echo ${PR_DOCKERHUB_IMAGE}
|
||||
fi''',
|
||||
returnStdout: true).trim()
|
||||
env.CI_TAGS = sh(
|
||||
script: '''#! /bin/bash
|
||||
# If multi arch pass an array of tags
|
||||
if [ ${MULTIARCH} == 'true' ]; then
|
||||
# If this is a live release use the external version tags
|
||||
if [ "${GIT_BRANCH}" == "master" ] && [ -z "CHANGE_ID" ]; then
|
||||
echo "amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER}|arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER}|arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER}"
|
||||
# If this is a dev release use dev tags
|
||||
elif [ "${GIT_BRANCH}" != "master" ] && [ -z "CHANGE_ID" ]; then
|
||||
echo "amd64-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}|arm32v6-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}|arm64v8-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
# This is a PR
|
||||
else:
|
||||
echo "amd64-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}|arm32v6-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}|arm64v8-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
fi
|
||||
elif [ ${MULTIARCH} == 'false' ]; then
|
||||
# If this is a live release use the external version tag
|
||||
if [ "${GIT_BRANCH}" == "master" ] && [ -z "CHANGE_ID" ]; then
|
||||
echo "${EXT_RELEASE}-ls${LS_TAG_NUMBER}"
|
||||
# If this is a dev release use dev tag
|
||||
elif [ "${GIT_BRANCH}" != "master" ] && [ -z "CHANGE_ID" ]; then
|
||||
echo "${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
# This is a PR
|
||||
else:
|
||||
echo "${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
fi
|
||||
fi''',
|
||||
returnStdout: true).trim()
|
||||
env.CI_META_TAG = sh(
|
||||
script: '''#! /bin/bash
|
||||
# If this is a live release use the external version tag
|
||||
if [ "${GIT_BRANCH}" == "master" ] && [ -z "CHANGE_ID" ]; then
|
||||
echo "${EXT_RELEASE}-ls${LS_TAG_NUMBER}"
|
||||
# If this is a dev release use dev tag
|
||||
elif [ "${GIT_BRANCH}" != "master" ] && [ -z "CHANGE_ID" ]; then
|
||||
echo "${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
# This is a PR
|
||||
else:
|
||||
echo "${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
fi''',
|
||||
returnStdout: true).trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
// Run Container tests
|
||||
stage('Test') {
|
||||
when {
|
||||
expression {
|
||||
env.CI == 'true'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
withCredentials([
|
||||
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
|
||||
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
|
||||
]) {
|
||||
echo "CI Tests running"
|
||||
sh "docker pull lsiodev/ci:latest"
|
||||
sh '''docker run --rm -i \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-e IMAGE="${CI_IMAGE}" \
|
||||
-e DELAY_START="${CI_DELAY} \
|
||||
-e TAGS="${CI_TAGS}" \
|
||||
-e META_TAG="${CI_META_TAG} \
|
||||
-e PORT="${CI_PORT}" \
|
||||
-e SSL="${CI_SSL}" \
|
||||
-e BASE="${DIST_IMAGE}" \
|
||||
-e SECRET_KEY="${DO_SECRET}" \
|
||||
-e ACCESS_KEY="${DO_KEY}" \
|
||||
-e DOCKER_ENV="${CI_DOCKERENV}" \
|
||||
-e WEB_AUTH="${CI_AUTH}" \
|
||||
-e WEB_PATH="${CI_WEBPATH}" \
|
||||
-e DO_REGION="ams3" \
|
||||
-e DO_BUCKET="lsio-ci" \
|
||||
-t lsiodev/ci:latest \
|
||||
python /ci/ci.py'''
|
||||
script{
|
||||
env.CI_URL = sh(
|
||||
script: '''echo "https://lsio-ci.ams3.digitaloceanspaces.com/${CI_IMAGE}/${CI_META_TAG}/index.html" ''',
|
||||
returnStdout: true).trim()
|
||||
}
|
||||
}
|
||||
echo 'CI Tests for future use'
|
||||
}
|
||||
}
|
||||
/* ##################
|
||||
@ -844,6 +663,9 @@ pipeline {
|
||||
sh '''#! /bin/bash
|
||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||
'''
|
||||
echo 'Tag images to the built one'
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
echo 'Pushing both tags'
|
||||
sh "docker push ${DEV_DOCKERHUB_IMAGE}:latest"
|
||||
sh "docker push ${DEV_DOCKERHUB_IMAGE}:${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
@ -879,6 +701,13 @@ pipeline {
|
||||
sh '''#! /bin/bash
|
||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||
'''
|
||||
echo 'First Tag the releases to latest also'
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:amd64-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:arm32v6-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:arm64v8-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${DEV_DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
echo 'Push all image variants'
|
||||
sh "docker push ${DEV_DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
sh "docker push ${DEV_DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-dev-${COMMIT_SHA}"
|
||||
@ -930,6 +759,9 @@ pipeline {
|
||||
sh '''#! /bin/bash
|
||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||
'''
|
||||
echo 'Tag images to the built one'
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
echo 'Pushing both tags'
|
||||
sh "docker push ${PR_DOCKERHUB_IMAGE}:latest"
|
||||
sh "docker push ${PR_DOCKERHUB_IMAGE}:${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
@ -967,6 +799,13 @@ pipeline {
|
||||
sh '''#! /bin/bash
|
||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||
'''
|
||||
echo 'First Tag the releases to latest also'
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:amd64-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:arm32v6-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:arm64v8-latest"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
sh "docker tag ${DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-ls${LS_TAG_NUMBER} ${PR_DOCKERHUB_IMAGE}:arm64v8-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
echo 'Push all image variants'
|
||||
sh "docker push ${PR_DOCKERHUB_IMAGE}:amd64-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
sh "docker push ${PR_DOCKERHUB_IMAGE}:arm32v6-${EXT_RELEASE}-pkg-${PACKAGE_TAG}-pr-${PULL_REQUEST}"
|
||||
@ -1003,13 +842,13 @@ pipeline {
|
||||
success {
|
||||
echo "Build good send details to discord"
|
||||
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||
}
|
||||
failure {
|
||||
echo "Build Bad sending details to discord"
|
||||
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user