Compare commits

...

6 Commits

Author SHA1 Message Date
LinuxServer-CI
9fb66573e7 Bot Updating Package Versions 2019-03-15 18:21:11 -04:00
saarg
72e9fed104 Merge pull request #39 from linuxserver/readme
clarify docker image tags
2019-03-15 23:17:58 +01:00
aptalca
2994d28230 clarify docker image tags 2019-03-15 17:55:30 -04:00
LinuxServer-CI
836e553c12 Bot Updating Templated Files 2019-03-09 00:54:30 +00:00
LinuxServer-CI
0c4526f0f8 Bot Updating Package Versions 2019-03-02 01:00:33 +00:00
LinuxServer-CI
3500eab73b Bot Updating Templated Files 2019-03-01 19:54:49 -05:00
4 changed files with 79 additions and 42 deletions

35
Jenkinsfile vendored
View File

@@ -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} '''
}
}
}
@@ -347,7 +353,7 @@ pipeline {
chmod 777 /tmp/package_versions.txt'
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
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'
fi
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
@@ -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

View File

@@ -14,12 +14,6 @@ Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
# PSA: Changes are happening
From August 2018 onwards, Linuxserver are in the midst of switching to a new CI platform which will enable us to build and release multiple architectures under a single repo. To this end, existing images for `arm64` and `armhf` builds are being deprecated. They are replaced by a manifest file in each container which automatically pulls the correct image for your architecture. You'll also be able to pull based on a specific architecture tag.
TLDR: Multi-arch support is changing from multiple repos to one repo per container image.
# [linuxserver/heimdall](https://github.com/linuxserver/docker-heimdall)
[![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
[![](https://images.microbadger.com/badges/version/linuxserver/heimdall.svg)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
@@ -37,7 +31,7 @@ Why not use it as your browser start page? It even has the ability to include a
## Supported Architectures
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list).
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `linuxserver/heimdall` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
@@ -49,6 +43,14 @@ The architectures supported by this image are:
| arm64 | arm64v8-latest |
| armhf | arm32v6-latest |
## Version Tags
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.
| Tag | Description |
| :----: | --- |
| latest | Stable Heimdall releases. |
| development | Latest commit from the github master branch. |
## Usage
@@ -59,8 +61,8 @@ Here are some example snippets to help you get started creating a container.
```
docker create \
--name=heimdall \
-e PUID=1001 \
-e PGID=1001 \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 80:80 \
-p 443:443 \
@@ -69,11 +71,6 @@ docker create \
linuxserver/heimdall
```
Using tags, you can switch between the stable releases of Heimdall and the master branch. No tag is required for the latest stable release.
Add the `development` tag, if required, to the `linuxserver/heimdall` line of the run/create command in the following format, `linuxserver/heimdall:development`.
The `development` tag will be the latest commit in the master branch of Heimdall.
HOWEVER, USE THE DEVELOPMENT TAG AT YOUR OWN PERIL !!!!!!!!!
### docker-compose
@@ -87,15 +84,14 @@ services:
image: linuxserver/heimdall
container_name: heimdall
environment:
- PUID=1001
- PGID=1001
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- </path/to/appdata/config>:/config
ports:
- 80:80
- 443:443
mem_limit: 4096m
restart: unless-stopped
```
@@ -107,8 +103,8 @@ Container images are configured using parameters passed at runtime (such as thos
| :----: | --- |
| `-p 80` | http gui |
| `-p 443` | https gui |
| `-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` | Contains all relevant configuration files. |
@@ -118,11 +114,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)
```
@@ -161,13 +157,25 @@ Below are the instructions for updating containers:
* Start the new container: `docker start heimdall`
* 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 heimdall
```
* You can also remove the old dangling images: `docker image prune`
### Via Docker Compose
* Update the image: `docker-compose pull linuxserver/heimdall`
* Let compose update containers as necessary: `docker-compose up -d`
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull heimdall`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d heimdall`
* You can also remove the old dangling images: `docker image prune`
## Versions
* **15.03.19:** - Clarify docker image tags in readme.
* **22.02.19:** - Rebasing to alpine 3.9.
* **16.01.18:** - Generate random app key in .env for new installs.
* **20.11.18:** - Upgrade baseimage packages during build.

View File

@@ -2,8 +2,6 @@ musl musl-1.1.20-r3
busybox busybox-1.29.3-r10
alpine-baselayout alpine-baselayout-3.1.0-r3
alpine-keys alpine-keys-2.1-r1
libcrypto1.1 libcrypto1.1-1.1.1a-r1
libssl1.1 libssl1.1-1.1.1a-r1
ca-certificates-cacert ca-certificates-cacert-20190108-r0
libtls-standalone libtls-standalone-2.7.4-r6
ssl_client ssl_client-1.29.3-r10
@@ -33,11 +31,11 @@ apr-util apr-util-1.6.1-r5
apache2-utils apache2-utils-2.4.38-r2
nghttp2-libs nghttp2-libs-1.35.1-r0
libssh2 libssh2-1.8.0-r4
libcurl libcurl-7.63.0-r0
libcurl libcurl-7.64.0-r1
pcre2 pcre2-10.32-r1
git git-2.20.1-r0
libressl2.7-libcrypto libressl2.7-libcrypto-2.7.4-r2
libressl2.7-libssl libressl2.7-libssl-2.7.4-r2
libressl2.7-libcrypto libressl2.7-libcrypto-2.7.5-r0
libressl2.7-libssl libressl2.7-libssl-2.7.5-r0
popt popt-1.16-r7
logrotate logrotate-3.15.0-r0
libmagic libmagic-5.35-r0
@@ -47,7 +45,7 @@ nginx nginx-1.14.2-r0
openssl openssl-1.1.1a-r1
php7-common php7-common-7.2.14-r0
libedit libedit-20181209.3.1-r0
libxml2 libxml2-2.9.9-r0
libxml2 libxml2-2.9.9-r1
php7 php7-7.2.14-r0
php7-fileinfo php7-fileinfo-7.2.14-r0
php7-fpm php7-fpm-7.2.14-r0
@@ -58,7 +56,9 @@ php7-session php7-session-7.2.14-r0
php7-simplexml php7-simplexml-7.2.14-r0
php7-xml php7-xml-7.2.14-r0
php7-xmlwriter php7-xmlwriter-7.2.14-r0
curl curl-7.63.0-r0
libcrypto1.1 libcrypto1.1-1.1.1b-r1
libssl1.1 libssl1.1-1.1.1b-r1
curl curl-7.64.0-r1
php7-ctype php7-ctype-7.2.14-r0
php7-pdo php7-pdo-7.2.14-r0
sqlite-libs sqlite-libs-3.26.0-r3
@@ -66,4 +66,4 @@ php7-pdo_sqlite php7-pdo_sqlite-7.2.14-r0
php7-tokenizer php7-tokenizer-7.2.14-r0
libzip libzip-1.5.1-r2
php7-zip php7-zip-7.2.14-r0
tar tar-1.31-r0
tar tar-1.32-r0

View File

@@ -17,6 +17,12 @@ available_architectures:
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v6-latest"}
# development version
development_versions: true
development_versions_items:
- { tag: "latest", desc: "Stable Heimdall releases." }
- { tag: "development", desc: "Latest commit from the github master branch." }
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
@@ -31,15 +37,6 @@ param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
# optional parameters
optional_block_1: true
optional_block_1_items:
- |
Using tags, you can switch between the stable releases of Heimdall and the master branch. No tag is required for the latest stable release.
Add the `development` tag, if required, to the `linuxserver/heimdall` line of the run/create command in the following format, `linuxserver/heimdall:development`.
The `development` tag will be the latest commit in the master branch of Heimdall.
HOWEVER, USE THE DEVELOPMENT TAG AT YOUR OWN PERIL !!!!!!!!!
# application setup block
app_setup_block_enabled: true
app_setup_block: |
@@ -52,6 +49,7 @@ app_setup_block: |
# changelog
changelogs:
- { date: "15.03.19:", desc: "Clarify docker image tags in readme." }
- { date: "22.02.19:", desc: "Rebasing to alpine 3.9." }
- { date: "16.01.18:", desc: "Generate random app key in .env for new installs." }
- { date: "20.11.18:", desc: "Upgrade baseimage packages during build." }