Skip to content

Commit

Permalink
Merge pull request #4489 from bgeuken/reduce_build_context
Browse files Browse the repository at this point in the history
Reduce build context of our docker images
  • Loading branch information
hennevogel committed Feb 13, 2018
2 parents 4a857e2 + 4b084b7 commit e9decd7
Show file tree
Hide file tree
Showing 17 changed files with 28 additions and 22 deletions.
6 changes: 0 additions & 6 deletions .dockerignore

This file was deleted.

16 changes: 10 additions & 6 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -64,27 +64,31 @@ namespace :docker do
end

namespace :maintainer do
def tags_for(container_type)
"-t openbuildservice/#{container_type}:#{VERSION} -t openbuildservice/#{container_type}"
end

desc 'Rebuild all our static containers'
task rebuild: ['rebuild:base', 'rebuild:backend', 'rebuild:frontend-base', 'rebuild:mariadb', 'rebuild:memcached', 'rebuild:old-test-suite'] do
end
namespace :rebuild do
task :base do
sh "docker build . -t openbuildservice/base:#{VERSION} -t openbuildservice/base -f Dockerfile.#{VERSION}"
sh "docker build docker-files/base/ #{tags_for(:base)} -f docker-files/base/Dockerfile.#{VERSION}"
end
task :mariadb do
sh "docker build . -t openbuildservice/mariadb:#{VERSION} -t openbuildservice/mariadb -f Dockerfile.mariadb"
sh "docker build docker-files/mariadb/ #{tags_for(:mariadb)} -f docker-files/mariadb/Dockerfile.mariadb"
end
task :memcached do
sh "docker build . -t openbuildservice/memcached:#{VERSION} -t openbuildservice/memcached -f Dockerfile.memcached"
sh "docker build docker-files/memcached/ #{tags_for(:memcached)} -f docker-files/memcached/Dockerfile.memcached"
end
task 'frontend-base' do
sh "docker build . -t openbuildservice/frontend-base:#{VERSION} -t openbuildservice/frontend-base -f Dockerfile.frontend-base"
sh "docker build src/api/ #{tags_for('frontend-base')} -f src/api/docker-files/Dockerfile.frontend-base"
end
task :backend do
sh "docker build . -t openbuildservice/backend:#{VERSION} -t openbuildservice/backend -f Dockerfile.backend"
sh "docker build src/backend/ #{tags_for(:backend)} -f src/backend/docker-files/Dockerfile.backend"
end
task 'old-test-suite' do
sh "docker build . -t openbuildservice/old-test-suite:#{VERSION} -t openbuildservice/old-test-suite -f Dockerfile.old-test-suite"
sh "docker build src/api/ #{tags_for('old-test-suite')} -f src/api/docker-files/Dockerfile.old-test-suite"
end
end

Expand Down
3 changes: 2 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ services:
frontend:
image: openbuildservice/frontend
build:
context: .
dockerfile: docker-files/Dockerfile
context: src/api
volumes:
- .:/obs
ports:
Expand Down
1 change: 1 addition & 0 deletions docker-files/api
1 change: 1 addition & 0 deletions docker-files/backend
2 changes: 1 addition & 1 deletion Dockerfile.42.3 → docker-files/base/Dockerfile.42.3
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ RUN zypper -n install --no-recommends --replacefiles \
timezone ack glibc-locale sudo aaa_base

# Add our bootstrap script
ADD contrib/docker-bootstrap.sh /root/bin/docker-bootstrap.sh
ADD docker-bootstrap.sh /root/bin/docker-bootstrap.sh

# Add our user
RUN useradd -m frontend
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions src/api/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
tmp/*
log/*

4 changes: 2 additions & 2 deletions Dockerfile → src/api/docker-files/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ ARG CONTAINER_USERID
# Configure our user
RUN usermod -u $CONTAINER_USERID frontend

ADD src/api/Gemfile /obs/src/api/Gemfile
ADD src/api/Gemfile.lock /obs/src/api/Gemfile.lock
ADD Gemfile /obs/src/api/Gemfile
ADD Gemfile.lock /obs/src/api/Gemfile.lock
RUN chown -R frontend /obs/src/api

# foreman, which we only run in docker, needs a different thor version than OBS.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ RUN /root/bin/docker-bootstrap.sh frontend
# Install other requirements
RUN npm install -g jshint

ADD src/api/Gemfile /obs/src/api/Gemfile
ADD src/api/Gemfile.lock /obs/src/api/Gemfile.lock
ADD Gemfile /obs/src/api/Gemfile
ADD Gemfile.lock /obs/src/api/Gemfile.lock
RUN chown -R frontend /obs/src/api

# Ensure there are ruby, gem and irb commands without ruby suffix
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ RUN /root/bin/docker-bootstrap.sh memcached
RUN /root/bin/docker-bootstrap.sh backend
RUN /root/bin/docker-bootstrap.sh frontend

ADD src/api/Gemfile /obs/src/api/Gemfile
ADD src/api/Gemfile.lock /obs/src/api/Gemfile.lock
ADD contrib/start_old_tests /obs/contrib/start_old_tests
ADD Gemfile /obs/src/api/Gemfile
ADD Gemfile.lock /obs/src/api/Gemfile.lock
ADD docker-files/start_old_tests /obs/contrib/start_old_tests
RUN chown -R frontend:users /obs/

# Set up some convenience ruby binaries...
Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions src/backend/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
src/backend/t/*

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM openbuildservice/base
RUN /root/bin/docker-bootstrap.sh backend

# Add our sign configuration
ADD dist/obs-signd-conf.tar.bz2 /
ADD docker-files/obs-signd-conf.tar.bz2 /

# Run our command
WORKDIR /obs
Expand Down
File renamed without changes.

0 comments on commit e9decd7

Please sign in to comment.