Bot Updating Templated Files
This commit is contained in:
parent
399b926f4d
commit
1182c37192
33
Jenkinsfile
vendored
33
Jenkinsfile
vendored
@ -41,7 +41,7 @@ pipeline {
|
|||||||
script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.LS_RELEASE_NOTES = sh(
|
env.LS_RELEASE_NOTES = sh(
|
||||||
script: '''git log -1 --pretty=%B | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
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' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.GITHUB_DATE = sh(
|
env.GITHUB_DATE = sh(
|
||||||
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
|
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
|
||||||
@ -292,6 +292,9 @@ pipeline {
|
|||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
sh "docker push lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker push lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
|
sh '''docker rmi \
|
||||||
|
${IMAGE}:arm32v6-${META_TAG} \
|
||||||
|
lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -318,6 +321,9 @@ pipeline {
|
|||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
|
sh '''docker rmi \
|
||||||
|
${IMAGE}:arm64v8-${META_TAG} \
|
||||||
|
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -479,6 +485,10 @@ pipeline {
|
|||||||
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
|
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
|
||||||
sh "docker push ${IMAGE}:latest"
|
sh "docker push ${IMAGE}:latest"
|
||||||
sh "docker push ${IMAGE}:${META_TAG}"
|
sh "docker push ${IMAGE}:${META_TAG}"
|
||||||
|
sh '''docker rmi \
|
||||||
|
${IMAGE}:${META_TAG} \
|
||||||
|
${IMAGE}:latest '''
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -526,6 +536,15 @@ pipeline {
|
|||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
||||||
sh "docker manifest push --purge ${IMAGE}:latest"
|
sh "docker manifest push --purge ${IMAGE}:latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
||||||
|
sh '''docker rmi \
|
||||||
|
${IMAGE}:amd64-${META_TAG} \
|
||||||
|
${IMAGE}:amd64-latest \
|
||||||
|
${IMAGE}:arm32v6-${META_TAG} \
|
||||||
|
${IMAGE}:arm32v6-latest \
|
||||||
|
${IMAGE}:arm64v8-${META_TAG} \
|
||||||
|
${IMAGE}:arm64v8-latest \
|
||||||
|
lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
|
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -586,6 +605,18 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// If this is a Pull request send the CI link as a comment on it
|
||||||
|
stage('Pull Request Comment') {
|
||||||
|
when {
|
||||||
|
not {environment name: 'CHANGE_ID', value: ''}
|
||||||
|
environment name: 'CI', value: 'true'
|
||||||
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
|
||||||
|
-d '{"body": "I am a bot, here are the test results for this PR '${CI_URL}'"}' '''
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* ######################
|
/* ######################
|
||||||
Send status to Discord
|
Send status to Discord
|
||||||
|
32
README.md
32
README.md
@ -54,8 +54,8 @@ Here are some example snippets to help you get started creating a container.
|
|||||||
```
|
```
|
||||||
docker create \
|
docker create \
|
||||||
--name=calibre-web \
|
--name=calibre-web \
|
||||||
-e PUID=1001 \
|
-e PUID=1000 \
|
||||||
-e PGID=1001 \
|
-e PGID=1000 \
|
||||||
-e TZ=Europe/London \
|
-e TZ=Europe/London \
|
||||||
-p 8083:8083 \
|
-p 8083:8083 \
|
||||||
-v <path to data>:/config \
|
-v <path to data>:/config \
|
||||||
@ -77,15 +77,14 @@ services:
|
|||||||
image: linuxserver/calibre-web
|
image: linuxserver/calibre-web
|
||||||
container_name: calibre-web
|
container_name: calibre-web
|
||||||
environment:
|
environment:
|
||||||
- PUID=1001
|
- PUID=1000
|
||||||
- PGID=1001
|
- PGID=1000
|
||||||
- TZ=Europe/London
|
- TZ=Europe/London
|
||||||
volumes:
|
volumes:
|
||||||
- <path to data>:/config
|
- <path to data>:/config
|
||||||
- <path to calibre library>:/books
|
- <path to calibre library>:/books
|
||||||
ports:
|
ports:
|
||||||
- 8083:8083
|
- 8083:8083
|
||||||
mem_limit: 4096m
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -96,8 +95,8 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| Parameter | Function |
|
| Parameter | Function |
|
||||||
| :----: | --- |
|
| :----: | --- |
|
||||||
| `-p 8083` | WebUI |
|
| `-p 8083` | WebUI |
|
||||||
| `-e PUID=1001` | for UserID - see below for explanation |
|
| `-e PUID=1000` | for UserID - see below for explanation |
|
||||||
| `-e PGID=1001` | for GroupID - see below for explanation |
|
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||||
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
|
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
|
||||||
| `-v /config` | Where calibre-web stores the internal database and config. |
|
| `-v /config` | Where calibre-web stores the internal database and config. |
|
||||||
| `-v /books` | Where your calibre database is locate. |
|
| `-v /books` | Where your calibre database is locate. |
|
||||||
@ -108,11 +107,11 @@ When using volumes (`-v` flags) permissions issues can arise between the host OS
|
|||||||
|
|
||||||
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
|
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
|
||||||
|
|
||||||
In this instance `PUID=1001` and `PGID=1001`, to find yours use `id user` as below:
|
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ id username
|
$ id username
|
||||||
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
|
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@ -163,9 +162,20 @@ Below are the instructions for updating containers:
|
|||||||
* Start the new container: `docker start calibre-web`
|
* Start the new container: `docker start calibre-web`
|
||||||
* You can also remove the old dangling images: `docker image prune`
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
|
### Via Taisun auto-updater (especially useful if you don't remember the original parameters)
|
||||||
|
* Pull the latest image at its tag and replace it with the same env variables in one shot:
|
||||||
|
```
|
||||||
|
docker run --rm \
|
||||||
|
-v /var/run/docker.sock:/var/run/docker.sock taisun/updater \
|
||||||
|
--oneshot calibre-web
|
||||||
|
```
|
||||||
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
### Via Docker Compose
|
### Via Docker Compose
|
||||||
* Update the image: `docker-compose pull linuxserver/calibre-web`
|
* Update all images: `docker-compose pull`
|
||||||
* Let compose update containers as necessary: `docker-compose up -d`
|
* or update a single image: `docker-compose pull calibre-web`
|
||||||
|
* Let compose update all containers as necessary: `docker-compose up -d`
|
||||||
|
* or update a single container: `docker-compose up -d calibre-web`
|
||||||
* You can also remove the old dangling images: `docker image prune`
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
Loading…
Reference in New Issue
Block a user