1
0
mirror of https://github.com/zokradonh/kopano-docker synced 2025-06-05 23:16:12 +00:00

add all ci relevant tools to the build helper (#290)

also push the build helper into the docker hub

Signed-off-by: Felix Bartels <felix@host-consultants.de>
This commit is contained in:
Felix Bartels 2019-11-21 08:37:01 +01:00 committed by GitHub
parent ead0acfdb0
commit 3165430f72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 50 additions and 16 deletions

View File

@ -3,11 +3,12 @@
set -euo pipefail
IFS=$'\n\t'
HADOLINT_VERSION=1.17.1
DOCKER_COMPOSE_VERSION=1.23.2
TRIVY_VERSION=0.1.1
GOSS_VERSION=0.3.7
COMMANDER_VERSION=1.2.1
DOCKER_COMPOSE_VERSION=1.23.2
GOSS_VERSION=0.3.7
HADOLINT_VERSION=1.17.1
REG_VERSION=0.16.1
TRIVY_VERSION=0.1.1
progname=$(basename "$0")
tempdir=$(mktemp -d "/tmp/$progname.XXXXXX")
@ -53,6 +54,11 @@ if ! command -v dccommander > /dev/null; then
sudo chmod +rx /usr/local/bin/dccommander
fi
if ! command -v reg > /dev/null; then
sudo curl -L https://github.com/genuinetools/reg/releases/download/v$REG_VERSION/reg-linux-amd64 -o /usr/local/bin/reg
sudo chmod +rx /usr/local/bin/reg
fi
if ! command -v expect > /dev/null; then
sudo apt update && sudo apt install -y expect
fi

View File

@ -114,6 +114,9 @@ build-base: ## Build new base image.
build-core:
component=core make build
build-helper:
component=build make build-simple
build-konnect:
component=konnect make build-simple
@ -285,6 +288,9 @@ publish-base: tag-base
publish-core: tag-core
component=core make publish-container
publish-helper:
docker push $(docker_repo)/kopano_build:latest
publish-konnect: tag-konnect
component=konnect make publish-container

View File

@ -1,12 +1,33 @@
FROM docker:18.09.6
ENV COMPOSE_VERSION "1.19.0"
ENV REG_VERSION "0.16.0"
RUN apk add --no-cache bash curl coreutils git expect make nano jq py-pip
RUN pip install --no-cache-dir docker-compose==${COMPOSE_VERSION}
# the 0.16.0 release of reg has a bug that breaks loading tags from the docker hub.
# issue is fixed in master, but not in a release.
# rel https://github.com/genuinetools/reg/issues/186
RUN curl -fSL "https://github.com/genuinetools/reg/releases/download/v$REG_VERSION/reg-linux-amd64" -o "/usr/local/bin/reg" \
&& chmod a+x "/usr/local/bin/reg"
ENV \
COMMANDER_VERSION=1.2.1 \
COMPOSE_VERSION=1.19.0 \
GOSS_VERSION=0.3.7 \
HADOLINT_VERSION=1.17.1 \
REG_VERSION=0.16.1 \
TRIVY_VERSION=0.1.1
LABEL maintainer=az@zok.xyz \
org.label-schema.name="Kopano Container Builder" \
org.label-schema.description="Helper Container to help building and testing containers" \
org.label-schema.url="https://kopano.io" \
org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker/build/" \
org.label-schema.version=1.0.0 \
org.label-schema.schema-version="1.0"
RUN apk add --no-cache bash curl coreutils git grep expect make nano npm jq py-pip && \
apk add --no-cache shellcheck --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
RUN curl -fSL "https://github.com/genuinetools/reg/releases/download/v$REG_VERSION/reg-linux-amd64" -o "/usr/local/bin/reg" && \
curl -fSL "https://github.com/hadolint/hadolint/releases/download/v$HADOLINT_VERSION/hadolint-$(uname -s)-$(uname -m)" -o /usr/local/bin/hadolint && \
curl -fSL "https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
curl -fSL "https://github.com/aelsabbahy/goss/releases/download/v$GOSS_VERSION/goss-linux-amd64" -o /usr/local/bin/goss && \
curl -L "https://raw.githubusercontent.com/fbartels/goss/dcgoss-v2/extras/dcgoss/dcgoss -o /usr/local/bin/dcgoss" && \
curl -fSL "https://github.com/SimonBaeumer/commander/releases/download/v$COMMANDER_VERSION/commander-linux-amd64" -o /usr/local/bin/commander && \
curl -fSL "https://raw.githubusercontent.com/fbartels/dccommander/master/dccommander" -o /usr/local/bin/dccommander && \
pip install yamllint==1.19.0 && \
npm install -g eclint@2.8.1 && \
chmod a+x /usr/local/bin/*
WORKDIR /kopano-docker
CMD ["bash"]

View File

@ -5,11 +5,12 @@ fi
cd "$(dirname "$0")" || exit
docker build .
docker pull zokradonh/kopano_build:latest || true
docker build --cache-from zokradonh/kopano_build:latest .
docker run \
--rm -it \
-u "$(id -u)":"$(id -g)" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$(pwd)"/..:/kopano-docker/ \
"$(docker build -q .)" "$@"
"$(docker build --cache-from zokradonh/kopano_build:latest -q .)" "$@"

View File

@ -4,7 +4,7 @@ set -euo pipefail
IFS=$'\n\t'
if ! command -v reg > /dev/null; then
echo "Please install reg to list available tags. You can only press enter when being asked for a tag."
echo "Please install reg to list available tags. Until then please only press enter and don't enter a version number when being asked for a tag."
fi
if [ ! -e ./.env ]; then