Bot Updating Templated Files
This commit is contained in:
parent
cfdcb24b11
commit
f203e19b17
2 changed files with 54 additions and 13 deletions
35
Jenkinsfile
vendored
35
Jenkinsfile
vendored
|
|
@ -38,7 +38,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' ''',
|
||||||
|
|
@ -282,6 +282,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} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -308,6 +311,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} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -337,7 +343,7 @@ pipeline {
|
||||||
chmod 777 /tmp/package_versions.txt'
|
chmod 777 /tmp/package_versions.txt'
|
||||||
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
||||||
apt list -qq --installed > /tmp/package_versions.txt && \
|
apt list -qq --installed | cut -d" " -f1-2 > /tmp/package_versions.txt && \
|
||||||
chmod 777 /tmp/package_versions.txt'
|
chmod 777 /tmp/package_versions.txt'
|
||||||
fi
|
fi
|
||||||
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
||||||
|
|
@ -469,6 +475,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 '''
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -516,6 +526,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} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -576,6 +595,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
|
|
@ -53,8 +53,8 @@ Here are some example snippets to help you get started creating a container.
|
||||||
docker create \
|
docker create \
|
||||||
--name=plex \
|
--name=plex \
|
||||||
--net=host \
|
--net=host \
|
||||||
-e PUID=1001 \
|
-e PUID=1000 \
|
||||||
-e PGID=1001 \
|
-e PGID=1000 \
|
||||||
-e VERSION=docker \
|
-e VERSION=docker \
|
||||||
-v </path/to/library>:/config \
|
-v </path/to/library>:/config \
|
||||||
-v <path/to/tvseries>:/data/tvshows \
|
-v <path/to/tvseries>:/data/tvshows \
|
||||||
|
|
@ -78,15 +78,14 @@ services:
|
||||||
container_name: plex
|
container_name: plex
|
||||||
network_mode: host
|
network_mode: host
|
||||||
environment:
|
environment:
|
||||||
- PUID=1001
|
- PUID=1000
|
||||||
- PGID=1001
|
- PGID=1000
|
||||||
- VERSION=docker
|
- VERSION=docker
|
||||||
volumes:
|
volumes:
|
||||||
- </path/to/library>:/config
|
- </path/to/library>:/config
|
||||||
- <path/to/tvseries>:/data/tvshows
|
- <path/to/tvseries>:/data/tvshows
|
||||||
- </path/to/movies>:/data/movies
|
- </path/to/movies>:/data/movies
|
||||||
- </path for transcoding>:/transcode
|
- </path for transcoding>:/transcode
|
||||||
mem_limit: 4096m
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -97,8 +96,8 @@ Container images are configured using parameters passed at runtime (such as thos
|
||||||
| Parameter | Function |
|
| Parameter | Function |
|
||||||
| :----: | --- |
|
| :----: | --- |
|
||||||
| `--net=host` | Use Host Networking |
|
| `--net=host` | Use Host Networking |
|
||||||
| `-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 VERSION=docker` | Set whether to update plex or not - see Application Setup section. |
|
| `-e VERSION=docker` | Set whether to update plex or not - see Application Setup section. |
|
||||||
| `-v /config` | Plex library location. *This can grow very large, 50gb+ is likely for a large collection.* |
|
| `-v /config` | Plex library location. *This can grow very large, 50gb+ is likely for a large collection.* |
|
||||||
| `-v /data/tvshows` | Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc. |
|
| `-v /data/tvshows` | Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc. |
|
||||||
|
|
@ -132,11 +131,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)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -195,9 +194,20 @@ Below are the instructions for updating containers:
|
||||||
* Start the new container: `docker start plex`
|
* Start the new container: `docker start plex`
|
||||||
* 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 plex
|
||||||
|
```
|
||||||
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
### Via Docker Compose
|
### Via Docker Compose
|
||||||
* Update the image: `docker-compose pull linuxserver/plex`
|
* Update all images: `docker-compose pull`
|
||||||
* Let compose update containers as necessary: `docker-compose up -d`
|
* or update a single image: `docker-compose pull plex`
|
||||||
|
* Let compose update all containers as necessary: `docker-compose up -d`
|
||||||
|
* or update a single container: `docker-compose up -d plex`
|
||||||
* 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…
Add table
Add a link
Reference in a new issue