Skip to content

Commit db3d86b

Browse files
Bot Updating Templated Files
1 parent 61b6761 commit db3d86b

File tree

2 files changed

+41
-25
lines changed

2 files changed

+41
-25
lines changed

Jenkinsfile

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ pipeline {
4040
script{
4141
env.EXIT_STATUS = ''
4242
env.LS_RELEASE = sh(
43-
script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/latest | jq -r '. | .tag_name' ''',
43+
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' || : ''',
4444
returnStdout: true).trim()
4545
env.LS_RELEASE_NOTES = sh(
4646
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' ''',
@@ -242,7 +242,7 @@ pipeline {
242242
fi
243243
mkdir -p ${TEMPDIR}/gitbook
244244
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
245-
if [ "${BRANCH_NAME}" = "master" ] && [ ! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md ] || [ "$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" ]; then
245+
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
246246
cp ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
247247
cd ${TEMPDIR}/gitbook/docker-documentation/
248248
git add images/docker-${CONTAINER_NAME}.md
@@ -317,15 +317,13 @@ pipeline {
317317
sh '''#! /bin/bash
318318
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
319319
'''
320-
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static"
321-
sh "chmod +x qemu-*"
322320
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
323321
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
324322
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
325323
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
326324
sh '''docker rmi \
327325
${IMAGE}:arm32v7-${META_TAG} \
328-
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} '''
326+
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
329327
}
330328
}
331329
}
@@ -346,15 +344,13 @@ pipeline {
346344
sh '''#! /bin/bash
347345
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
348346
'''
349-
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static"
350-
sh "chmod +x qemu-*"
351347
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
352348
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
353349
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
354350
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
355351
sh '''docker rmi \
356352
${IMAGE}:arm64v8-${META_TAG} \
357-
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
353+
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
358354
}
359355
}
360356
}
@@ -518,7 +514,7 @@ pipeline {
518514
sh "docker push ${IMAGE}:${META_TAG}"
519515
sh '''docker rmi \
520516
${IMAGE}:${META_TAG} \
521-
${IMAGE}:latest '''
517+
${IMAGE}:latest || :'''
522518

523519
}
524520
}
@@ -575,7 +571,7 @@ pipeline {
575571
${IMAGE}:arm64v8-${META_TAG} \
576572
${IMAGE}:arm64v8-latest \
577573
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
578-
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
574+
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
579575
}
580576
}
581577
}
@@ -584,25 +580,25 @@ pipeline {
584580
when {
585581
branch "master"
586582
expression {
587-
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-ls' + env.LS_TAG_NUMBER
583+
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
588584
}
589585
environment name: 'CHANGE_ID', value: ''
590586
environment name: 'EXIT_STATUS', value: ''
591587
}
592588
steps {
593-
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-pkg-${PACKAGE_TAG}-ls${LS_TAG_NUMBER}"
589+
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
594590
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
595-
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
591+
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
596592
"object": "'${COMMIT_SHA}'",\
597-
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}' to master",\
593+
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
598594
"type": "commit",\
599595
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
600596
echo "Pushing New release for Tag"
601597
sh '''#! /bin/bash
602598
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
603-
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
599+
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
604600
"target_commitish": "master",\
605-
"name": "'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
601+
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
606602
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
607603
printf '","draft": false,"prerelease": false}' >> releasebody.json
608604
paste -d'\\0' start releasebody.json > releasebody.json.done

README.md

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -182,22 +182,42 @@ Below are the instructions for updating containers:
182182
* Start the new container: `docker start bookstack`
183183
* You can also remove the old dangling images: `docker image prune`
184184

185-
### Via Taisun auto-updater (especially useful if you don't remember the original parameters)
186-
* Pull the latest image at its tag and replace it with the same env variables in one shot:
187-
```
188-
docker run --rm \
189-
-v /var/run/docker.sock:/var/run/docker.sock taisun/updater \
190-
--oneshot bookstack
191-
```
192-
* You can also remove the old dangling images: `docker image prune`
193-
194185
### Via Docker Compose
195186
* Update all images: `docker-compose pull`
196187
* or update a single image: `docker-compose pull bookstack`
197188
* Let compose update all containers as necessary: `docker-compose up -d`
198189
* or update a single container: `docker-compose up -d bookstack`
199190
* You can also remove the old dangling images: `docker image prune`
200191

192+
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
193+
* Pull the latest image at its tag and replace it with the same env variables in one run:
194+
```
195+
docker run --rm \
196+
-v /var/run/docker.sock:/var/run/docker.sock \
197+
containrrr/watchtower \
198+
--run-once bookstack
199+
```
200+
* You can also remove the old dangling images: `docker image prune`
201+
202+
## Building locally
203+
204+
If you want to make local modifications to these images for development purposes or just to customize the logic:
205+
```
206+
git clone https://github.com/linuxserver/docker-bookstack.git
207+
cd docker-bookstack
208+
docker build \
209+
--no-cache \
210+
--pull \
211+
-t linuxserver/bookstack:latest .
212+
```
213+
214+
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
215+
```
216+
docker run --rm --privileged multiarch/qemu-user-static:register --reset
217+
```
218+
219+
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
220+
201221
## Versions
202222

203223
* **20.04.19:** - Rebase to Alpine 3.9, add MySQL init logic.

0 commit comments

Comments
 (0)