diff options
Diffstat (limited to 'util/docker')
-rw-r--r-- | util/docker/Makefile | 18 | ||||
-rw-r--r-- | util/docker/coreboot-jenkins-node/Dockerfile | 20 |
2 files changed, 16 insertions, 22 deletions
diff --git a/util/docker/Makefile b/util/docker/Makefile index 60e244f162..8bec631ab0 100644 --- a/util/docker/Makefile +++ b/util/docker/Makefile @@ -22,9 +22,6 @@ export COREBOOT_JENKINS_PORT?=49151 # Local cache directory - for storing files shared with the docker image export COREBOOT_JENKINS_CACHE_DIR?=/srv/docker/coreboot-builder/cache -# Local ccache directory -export COREBOOT_JENKINS_CCACHE_DIR?=/srv/docker/coreboot-builder/ccache - # Name of the jenkins container export COREBOOT_JENKINS_CONTAINER?=coreboot_jenkins @@ -134,33 +131,19 @@ docker-jenkins-server: test-docker else \ rm -f "$(COREBOOT_JENKINS_CACHE_DIR)/testfile"; \ fi - @if [ ! -d "$(COREBOOT_JENKINS_CCACHE_DIR)" ]; then \ - printf "\nError: %s does not exist.\n" "$(COREBOOT_JENKINS_CCACHE_DIR)"; \ - printf "Please run:\nsudo mkdir -p %s\n\n" "$(COREBOOT_JENKINS_CCACHE_DIR)"; \ - false; \ - fi - @if ! touch "$(COREBOOT_JENKINS_CCACHE_DIR)/testfile" 2>/dev/null; then \ - printf "\nError: Cannot create file in %s." "$(COREBOOT_JENKINS_CCACHE_DIR)"; \ - printf 'Please run:\nsudo chown -R $$(whoami):$$(whoami) %s\n\n' "$(COREBOOT_JENKINS_CCACHE_DIR)"; \ - else \ - rm -f "$(COREBOOT_JENKINS_CCACHE_DIR)/testfile"; \ - fi $(DOCKER) run -d --privileged --restart=always \ -p $(COREBOOT_JENKINS_PORT):49151 \ -v $(COREBOOT_JENKINS_CACHE_DIR):/data/cache \ - -v $(COREBOOT_JENKINS_CCACHE_DIR):/home/coreboot/.ccache \ --name=$(COREBOOT_JENKINS_CONTAINER) \ coreboot/coreboot-jenkins-node:$(COREBOOT_CONTAINER_VERSION) docker-jenkins-shell: test-docker @if [ ! -d $(COREBOOT_JENKINS_CACHE_DIR) ]; then printf "\nError: %s does not exist.\nPlease run:\nsudo mkdir -p %s\n\n" "$(COREBOOT_JENKINS_CACHE_DIR)" "$(COREBOOT_JENKINS_CACHE_DIR)"; false; fi - @if [ ! -d $(COREBOOT_JENKINS_CCACHE_DIR) ]; then printf "\nError: %s does not exist.\nPlease run:\nsudo mkdir -p %s\n\n" "$(COREBOOT_JENKINS_CCACHE_DIR)" "$(COREBOOT_JENKINS_CCACHE_DIR)"; false; fi $(DOCKER) run -u root -it --privileged \ --entrypoint="/bin/bash" \ -p $(COREBOOT_JENKINS_PORT):49151 \ -v $(top):/home/coreboot/coreboot \ -v $(COREBOOT_JENKINS_CACHE_DIR):/data/cache \ - -v $(COREBOOT_JENKINS_CCACHE_DIR):/home/coreboot/.ccache \ --name=$(COREBOOT_JENKINS_CONTAINER) \ --rm coreboot/coreboot-jenkins-node:$(COREBOOT_CONTAINER_VERSION) @@ -195,7 +178,6 @@ help: @echo "Variables:" @echo " COREBOOT_JENKINS_PORT=$(COREBOOT_JENKINS_PORT)" @echo " COREBOOT_JENKINS_CACHE_DIR=$(COREBOOT_JENKINS_CACHE_DIR)" - @echo " COREBOOT_JENKINS_CCACHE_DIR=$(COREBOOT_JENKINS_CCACHE_DIR)" @echo " COREBOOT_JENKINS_CONTAINER=$(COREBOOT_JENKINS_CONTAINER)" @echo " COREBOOT_CONTAINER_VERSION=$(COREBOOT_CONTAINER_VERSION)" @echo " DOCKER_COMMIT=$(DOCKER_COMMIT)" diff --git a/util/docker/coreboot-jenkins-node/Dockerfile b/util/docker/coreboot-jenkins-node/Dockerfile index 230842c530..5c5c5296e7 100644 --- a/util/docker/coreboot-jenkins-node/Dockerfile +++ b/util/docker/coreboot-jenkins-node/Dockerfile @@ -17,9 +17,6 @@ FROM coreboot/coreboot-sdk:{{SDK_VERSION}} MAINTAINER Martin Roth <martin@coreboot.org> USER root -# Check to make sure /dev is a tmpfs file system -RUN mount | grep "on /dev type tmpfs" > /dev/null || exit 1 - RUN apt-get -y update && \ apt-get -y install \ lua5.3 liblua5.3-dev openjdk-8-jre-headless openssh-server && \ @@ -37,6 +34,16 @@ RUN mkdir /var/run/sshd && \ chmod 0755 /var/run/sshd && \ /usr/bin/ssh-keygen -A +# Create /cb-build as a tmpfs directory to build in +RUN mkdir /cb-build && \ + chown coreboot:coreboot /cb-build && \ + echo "tmpfs /cb-build tmpfs rw,mode=1777 0 0" > /etc/fstab && \ + mkdir -p /home/coreboot/slave-root/workspace && \ + chown -R coreboot:coreboot /home/coreboot/slave-root && \ + echo "tmpfs /home/coreboot/slave-root/workspace tmpfs rw,mode=1777 0 0" >> /etc/fstab && \ + chown coreboot:coreboot /home/coreboot/.ccache && \ + echo "tmpfs /home/coreboot/.ccache tmpfs rw,mode=1777 0 0" >> /etc/fstab + # Build encapsulate tool ADD https://raw.githubusercontent.com/pgeorgi/encapsulate/master/encapsulate.c /tmp/encapsulate.c RUN gcc -o /usr/sbin/encapsulate /tmp/encapsulate.c && \ @@ -44,6 +51,11 @@ RUN gcc -o /usr/sbin/encapsulate /tmp/encapsulate.c && \ chmod +s /usr/sbin/encapsulate VOLUME /data/cache -ENTRYPOINT mkdir /dev/cb-build && chown coreboot /dev/cb-build && /usr/sbin/sshd -p 49151 -D +ENTRYPOINT mount /cb-build && \ + mount /home/coreboot/slave-root/workspace && \ + chown -R coreboot:coreboot /home/coreboot/slave-root && \ + mount /home/coreboot/.ccache && \ + chown coreboot:coreboot /home/coreboot/.ccache && \ + /usr/sbin/sshd -p 49151 -D EXPOSE 49151 ENV PATH $PATH:/usr/sbin |