Add Dockerfile for Isar image builder
Isar requires a number of extra packages compared to a Yocto build. It also needs a newer e2fsprogs version which can be taken from backports. Last but not least, its keystone multistrap contains a nasty bug [1] under in jessie so that we need to pull the updated version from stretch. The value of having this image still based on jessie is that it can be used for both purposes: Yocto (2.1/2.2) and Isar builds. We push it along the kas core image as kas-isar during the CI run. Isar still requires some raised privileges. Therefore, the image has to be started with the additional switches "--cap-add=SYS_ADMIN --cap-add=MKNOD --device $(/sbin/losetup -f)". [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774698 Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
parent
b1f343a3fd
commit
1e405f155d
15
.travis.yml
15
.travis.yml
@ -19,14 +19,17 @@ install:
|
||||
script:
|
||||
- scripts/checkcode.sh .
|
||||
- docker build -t kasproject/kas .
|
||||
- docker build -t kasproject/kas-isar -f Dockerfile.isar .
|
||||
|
||||
after_success:
|
||||
- if [ "$TRAVIS_BRANCH" == "master" ] || [ "$TRAVIS_BRANCH" == "next" ]; then
|
||||
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
|
||||
docker push kasproject/kas;
|
||||
if [ "$TRAVIS_BRANCH" == "master" ] && git describe --exact-match 2>/dev/null >/dev/null; then
|
||||
VERSION="$(/usr/bin/python3 -c 'from kas.__version__ import __version__; print(__version__)')";
|
||||
docker tag kasproject/kas kasproject/kas:$VERSION;
|
||||
docker push kasproject/kas:$VERSION;
|
||||
fi
|
||||
for IMAGE in kasproject/kas kasproject/kas-isar; do
|
||||
docker push $IMAGE;
|
||||
if [ "$TRAVIS_BRANCH" == "master" ] && git describe --exact-match 2>/dev/null >/dev/null; then
|
||||
VERSION="$(/usr/bin/python3 -c 'from kas import __version__; print(__version__)')";
|
||||
docker tag $IMAGE $IMAGE:$VERSION;
|
||||
docker push $IMAGE:$VERSION;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
22
Dockerfile.isar
Normal file
22
Dockerfile.isar
Normal file
@ -0,0 +1,22 @@
|
||||
FROM kasproject/kas:latest
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN echo 'deb http://deb.debian.org/debian jessie-backports main' >> /etc/apt/sources.list.d/backports.list && \
|
||||
echo 'deb http://deb.debian.org/debian stretch main' >> /etc/apt/sources.list.d/backports.list
|
||||
|
||||
ENV LC_ALL=en_US.UTF-8
|
||||
RUN apt-get update && \
|
||||
apt-get install -y -f --no-install-recommends --target-release jessie \
|
||||
autoconf automake gdisk libtool bash-completion \
|
||||
sudo grub2 grub-efi-amd64-bin grub-efi-ia32-bin qemu-user-static \
|
||||
reprepro python3 && \
|
||||
apt-get install -y -f --no-install-recommends --target-release jessie-backports \
|
||||
e2fsprogs && \
|
||||
apt-get install -y -f --no-install-recommends --target-release stretch \
|
||||
multistrap && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp*
|
||||
|
||||
RUN echo "builder ALL=NOPASSWD: ALL" > /etc/sudoers.d/builder-nopasswd && \
|
||||
chmod 660 /etc/sudoers.d/builder-nopasswd
|
Loading…
Reference in New Issue
Block a user