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' ''',
|
||||
returnStdout: true).trim()
|
||||
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()
|
||||
env.GITHUB_DATE = sh(
|
||||
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} ."
|
||||
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 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} ."
|
||||
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 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 push ${IMAGE}:latest"
|
||||
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 push --purge ${IMAGE}:latest"
|
||||
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
|
||||
|
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 \
|
||||
--name=calibre-web \
|
||||
-e PUID=1001 \
|
||||
-e PGID=1001 \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/London \
|
||||
-p 8083:8083 \
|
||||
-v <path to data>:/config \
|
||||
@ -77,15 +77,14 @@ services:
|
||||
image: linuxserver/calibre-web
|
||||
container_name: calibre-web
|
||||
environment:
|
||||
- PUID=1001
|
||||
- PGID=1001
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/London
|
||||
volumes:
|
||||
- <path to data>:/config
|
||||
- <path to calibre library>:/books
|
||||
ports:
|
||||
- 8083:8083
|
||||
mem_limit: 4096m
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
@ -96,8 +95,8 @@ Container images are configured using parameters passed at runtime (such as thos
|
||||
| Parameter | Function |
|
||||
| :----: | --- |
|
||||
| `-p 8083` | WebUI |
|
||||
| `-e PUID=1001` | for UserID - see below for explanation |
|
||||
| `-e PGID=1001` | for GroupID - see below for explanation |
|
||||
| `-e PUID=1000` | for UserID - 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. |
|
||||
| `-v /config` | Where calibre-web stores the internal database and config. |
|
||||
| `-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.
|
||||
|
||||
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
|
||||
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`
|
||||
* 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
|
||||
* Update the image: `docker-compose pull linuxserver/calibre-web`
|
||||
* Let compose update containers as necessary: `docker-compose up -d`
|
||||
* Update all images: `docker-compose pull`
|
||||
* 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`
|
||||
|
||||
## Versions
|
||||
|
Loading…
Reference in New Issue
Block a user