Skip to content
This repository was archived by the owner on Jun 15, 2021. It is now read-only.

Commit f02521a

Browse files
aptalcathelamer
authored andcommitted
Create xenial tag on docker hub
1 parent a7d0fd0 commit f02521a

File tree

4 files changed

+51
-38
lines changed

4 files changed

+51
-38
lines changed

Jenkinsfile

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ pipeline {
3535
script{
3636
env.EXIT_STATUS = ''
3737
env.LS_RELEASE = sh(
38-
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
38+
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':xenial 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
3939
returnStdout: true).trim()
4040
env.LS_RELEASE_NOTES = sh(
4141
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@@ -120,10 +120,10 @@ pipeline {
120120
}
121121
}
122122
}
123-
// If this is a master build use live docker endpoints
123+
// If this is a xenial build use live docker endpoints
124124
stage("Set ENV live build"){
125125
when {
126-
branch "master"
126+
branch "xenial"
127127
environment name: 'CHANGE_ID', value: ''
128128
}
129129
steps {
@@ -141,7 +141,7 @@ pipeline {
141141
// If this is a dev build use dev docker endpoints
142142
stage("Set ENV dev build"){
143143
when {
144-
not {branch "master"}
144+
not {branch "xenial"}
145145
environment name: 'CHANGE_ID', value: ''
146146
}
147147
steps {
@@ -208,7 +208,7 @@ pipeline {
208208
// Use helper containers to render templated files
209209
stage('Update-Templates') {
210210
when {
211-
branch "master"
211+
branch "xenial"
212212
environment name: 'CHANGE_ID', value: ''
213213
expression {
214214
env.CONTAINER_NAME != null
@@ -219,15 +219,15 @@ pipeline {
219219
set -e
220220
TEMPDIR=$(mktemp -d)
221221
docker pull linuxserver/jenkins-builder:latest
222-
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
222+
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=xenial -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
223223
docker pull linuxserver/doc-builder:latest
224-
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
224+
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=xenial -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
225225
if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
226226
[ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ] || \
227227
[ "$(cat ${TEMPDIR}/${LS_REPO}/LICENSE | md5sum | cut -c1-8)" != "${LICENSE_TAG}" ]; then
228228
mkdir -p ${TEMPDIR}/repo
229229
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
230-
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f master
230+
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f xenial
231231
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
232232
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
233233
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
@@ -259,7 +259,7 @@ pipeline {
259259
// Exit the build if the Templated files were just updated
260260
stage('Template-exit') {
261261
when {
262-
branch "master"
262+
branch "xenial"
263263
environment name: 'CHANGE_ID', value: ''
264264
environment name: 'FILES_UPDATED', value: 'true'
265265
expression {
@@ -358,7 +358,7 @@ pipeline {
358358
// Take the image we just built and dump package versions for comparison
359359
stage('Update-packages') {
360360
when {
361-
branch "master"
361+
branch "xenial"
362362
environment name: 'CHANGE_ID', value: ''
363363
environment name: 'EXIT_STATUS', value: ''
364364
}
@@ -386,7 +386,7 @@ pipeline {
386386
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
387387
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
388388
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
389-
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
389+
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f xenial
390390
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
391391
cd ${TEMPDIR}/${LS_REPO}/
392392
wait
@@ -410,7 +410,7 @@ pipeline {
410410
// Exit the build if the package file was just updated
411411
stage('PACKAGE-exit') {
412412
when {
413-
branch "master"
413+
branch "xenial"
414414
environment name: 'CHANGE_ID', value: ''
415415
environment name: 'PACKAGE_UPDATED', value: 'true'
416416
environment name: 'EXIT_STATUS', value: ''
@@ -424,7 +424,7 @@ pipeline {
424424
// Exit the build if this is just a package check and there are no changes to push
425425
stage('PACKAGECHECK-exit') {
426426
when {
427-
branch "master"
427+
branch "xenial"
428428
environment name: 'CHANGE_ID', value: ''
429429
environment name: 'PACKAGE_UPDATED', value: 'false'
430430
environment name: 'EXIT_STATUS', value: ''
@@ -509,12 +509,12 @@ pipeline {
509509
sh '''#! /bin/bash
510510
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
511511
'''
512-
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
513-
sh "docker push ${IMAGE}:latest"
512+
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:xenial"
513+
sh "docker push ${IMAGE}:xenial"
514514
sh "docker push ${IMAGE}:${META_TAG}"
515515
sh '''docker rmi \
516516
${IMAGE}:${META_TAG} \
517-
${IMAGE}:latest || :'''
517+
${IMAGE}:xenial || :'''
518518

519519
}
520520
}
@@ -544,32 +544,32 @@ pipeline {
544544
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
545545
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
546546
fi'''
547-
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
548-
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
549-
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
547+
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-xenial"
548+
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-xenial"
549+
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-xenial"
550550
sh "docker push ${IMAGE}:amd64-${META_TAG}"
551551
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
552552
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
553-
sh "docker push ${IMAGE}:amd64-latest"
554-
sh "docker push ${IMAGE}:arm32v7-latest"
555-
sh "docker push ${IMAGE}:arm64v8-latest"
556-
sh "docker manifest push --purge ${IMAGE}:latest || :"
557-
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
558-
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm"
559-
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
553+
sh "docker push ${IMAGE}:amd64-xenial"
554+
sh "docker push ${IMAGE}:arm32v7-xenial"
555+
sh "docker push ${IMAGE}:arm64v8-xenial"
556+
sh "docker manifest push --purge ${IMAGE}:xenial || :"
557+
sh "docker manifest create ${IMAGE}:xenial ${IMAGE}:amd64-xenial ${IMAGE}:arm32v7-xenial ${IMAGE}:arm64v8-xenial"
558+
sh "docker manifest annotate ${IMAGE}:xenial ${IMAGE}:arm32v7-xenial --os linux --arch arm"
559+
sh "docker manifest annotate ${IMAGE}:xenial ${IMAGE}:arm64v8-xenial --os linux --arch arm64 --variant v8"
560560
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
561561
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
562562
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
563563
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
564-
sh "docker manifest push --purge ${IMAGE}:latest"
564+
sh "docker manifest push --purge ${IMAGE}:xenial"
565565
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
566566
sh '''docker rmi \
567567
${IMAGE}:amd64-${META_TAG} \
568-
${IMAGE}:amd64-latest \
568+
${IMAGE}:amd64-xenial \
569569
${IMAGE}:arm32v7-${META_TAG} \
570-
${IMAGE}:arm32v7-latest \
570+
${IMAGE}:arm32v7-xenial \
571571
${IMAGE}:arm64v8-${META_TAG} \
572-
${IMAGE}:arm64v8-latest \
572+
${IMAGE}:arm64v8-xenial \
573573
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
574574
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
575575
}
@@ -578,7 +578,7 @@ pipeline {
578578
// If this is a public release tag it in the LS Github
579579
stage('Github-Tag-Push-Release') {
580580
when {
581-
branch "master"
581+
branch "xenial"
582582
expression {
583583
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
584584
}
@@ -590,17 +590,17 @@ pipeline {
590590
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
591591
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
592592
"object": "'${COMMIT_SHA}'",\
593-
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
593+
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to xenial",\
594594
"type": "commit",\
595595
"tagger": {"name": "LinuxServer Jenkins","email": "[email protected]","date": "'${GITHUB_DATE}'"}}' '''
596596
echo "Pushing New release for Tag"
597597
sh '''#! /bin/bash
598598
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
599599
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
600-
"target_commitish": "master",\
600+
"target_commitish": "xenial",\
601601
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
602602
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
603-
printf '","draft": false,"prerelease": false}' >> releasebody.json
603+
printf '","draft": false,"prerelease": true}' >> releasebody.json
604604
paste -d'\\0' start releasebody.json > releasebody.json.done
605605
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
606606
}

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ The architectures supported by this image are:
3838
| :----: | --- |
3939
| x86-64 | latest |
4040

41+
## Version Tags
42+
43+
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
44+
45+
| Tag | Description |
46+
| :----: | --- |
47+
| latest | Stable releases based on ubuntu bionic |
48+
| xenial | Stable releases based on ubuntu xenial |
4149

4250
## Usage
4351

@@ -197,6 +205,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
197205

198206
## Versions
199207

208+
* **25.07.19:** - Create a xenial branch and rebase master to bionic.
200209
* **07.04.19:** - Fix first time config.
201210
* **03.04.19:** - Big rewrite of the install and update logic of openvpn-as to fix breaking changes (should fix updating from 2.6.1 to 2.7.3), added mysql-client for cluster support.
202211
* **14.03.19:** - Update deb package URL.

jenkins-vars.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
project_name: docker-openvpn-as
55
external_type: na
66
custom_version_command: "curl -w '%{url_effective}' -ILsS https://openvpn.net/downloads/openvpn-as-latest-ubuntu16.amd_64.deb -o /dev/null | awk -F '(openvpn-as-|-Ubuntu16)' '{print $2}'"
7-
release_type: stable
8-
release_tag: latest
9-
ls_branch: master
7+
release_type: prerelease
8+
release_tag: xenial
9+
ls_branch: xenial
1010
repo_vars:
1111
- BUILD_VERSION_ARG = 'OPENVPNAS_VERSION'
1212
- LS_USER = 'linuxserver'

readme-vars.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ available_architectures:
1313
- { arch: "{{ arch_x86_64 }}", tag: "latest"}
1414

1515
# development version
16-
development_versions: false
16+
development_versions: true
17+
development_versions_items:
18+
- { tag: "latest", desc: "Stable releases based on ubuntu bionic" }
19+
- { tag: "xenial", desc: "Stable releases based on ubuntu xenial" }
1720

1821
# container parameters
1922
common_param_env_vars_enabled: true
@@ -60,6 +63,7 @@ app_setup_block: |
6063
6164
# changelog
6265
changelogs:
66+
- { date: "25.07.19:", desc: "Create a xenial branch and rebase master to bionic." }
6367
- { date: "07.04.19:", desc: "Fix first time config." }
6468
- { date: "03.04.19:", desc: "Big rewrite of the install and update logic of openvpn-as to fix breaking changes (should fix updating from 2.6.1 to 2.7.3), added mysql-client for cluster support." }
6569
- { date: "14.03.19:", desc: "Update deb package URL." }

0 commit comments

Comments
 (0)