Skip to content

Commit c8984d8

Browse files
author
Brent Cook
committed
Land rapid7#8277, more docker improvements
2 parents b0d6e12 + e0fc722 commit c8984d8

File tree

5 files changed

+53
-40
lines changed

5 files changed

+53
-40
lines changed

.dockerignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ docker-compose*.yml
55
docker/
66
!docker/msfconsole.rc
77
README.md
8+
.git/
9+
.github/
10+
.ruby-version
11+
.ruby-gemset
812

913
.bundle
1014
Gemfile.local
@@ -93,3 +97,6 @@ data/meterpreter/ext_server_pivot.*.dll
9397
# https://rapid7.github.io/metasploit-framework. It's an orphan branch.
9498
/metakitty
9599
.vagrant
100+
101+
# no need for rspecs
102+
spec/

.travis.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@ rvm:
1616
- '2.4.1'
1717

1818
env:
19-
- RAKE_TASKS="cucumber cucumber:boot" CREATE_BINSTUBS=true
20-
- RAKE_TASKS=spec SPEC_OPTS="--tag content"
21-
- RAKE_TASKS=spec SPEC_OPTS="--tag ~content"
19+
- CMD=bundle exec rake "cucumber cucumber:boot" CREATE_BINSTUBS=true
20+
- CMD=bundle exec rake spec SPEC_OPTS="--tag content"
21+
- CMD=bundle exec rake spec SPEC_OPTS="--tag ~content"
2222

2323
matrix:
2424
fast_finish: true
25+
include:
26+
- rvm: ruby-head
27+
env: CMD="docker-compose -f $TRAVIS_BUILD_DIR/docker-compose.yml build"
2528
before_install:
2629
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
2730
- rake --version
@@ -36,7 +39,7 @@ before_script:
3639
- bundle exec rake db:migrate
3740
script:
3841
# fail build if db/schema.rb update is not committed
39-
- git diff --exit-code db/schema.rb && bundle exec rake $RAKE_TASKS
42+
- git diff --exit-code db/schema.rb && $CMD
4043

4144
notifications:
4245
irc: "irc.freenode.org#msfnotify"
@@ -49,3 +52,6 @@ branches:
4952
except:
5053
- gh-pages
5154
- metakitty
55+
56+
services:
57+
- docker

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: '2'
22
services:
3-
ms: &ms
3+
ms:
44
image: metasploit
55
build:
66
context: .

docker/Dockerfile

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,43 @@
11
FROM ruby:2.3-alpine
22
MAINTAINER Rapid7
33

4-
ARG BUNDLER_ARGS="--system --jobs=8"
4+
ARG BUNDLER_ARGS="--jobs=8 --without development test coverage"
55
ENV APP_HOME /usr/src/metasploit-framework/
66
WORKDIR $APP_HOME
77

88
COPY Gemfile* m* Rakefile $APP_HOME
99
COPY lib $APP_HOME/lib
1010

1111
RUN apk update && \
12-
apk add \
13-
ruby-bigdecimal \
14-
ruby-bundler \
15-
ruby-io-console \
16-
autoconf \
17-
bison \
18-
subversion \
19-
git \
20-
sqlite \
21-
nmap \
22-
libxslt \
23-
postgresql \
24-
ncurses \
25-
&& apk add --virtual .ruby-builddeps \
26-
build-base \
27-
ruby-dev \
28-
libffi-dev\
29-
openssl-dev \
30-
readline-dev \
31-
sqlite-dev \
32-
postgresql-dev \
33-
libpcap-dev \
34-
libxml2-dev \
35-
libxslt-dev \
36-
yaml-dev \
37-
zlib-dev \
38-
ncurses-dev \
39-
bison \
40-
autoconf \
41-
&& echo "gem: --no-ri --no-rdoc" > /etc/gemrc \
42-
&& bundle install $BUNDLER_ARGS \
43-
&& apk del .ruby-builddeps \
44-
&& rm -rf /var/cache/apk/*
12+
apk add \
13+
sqlite-libs \
14+
nmap \
15+
postgresql-libs \
16+
# needed as long as metasploit-framework.gemspec contains a 'git ls'
17+
git \
18+
ncurses \
19+
&& apk add --virtual .ruby-builddeps \
20+
autoconf \
21+
bison \
22+
build-base \
23+
ruby-dev \
24+
libffi-dev\
25+
openssl-dev \
26+
readline-dev \
27+
sqlite-dev \
28+
postgresql-dev \
29+
libpcap-dev \
30+
libxml2-dev \
31+
libxslt-dev \
32+
yaml-dev \
33+
zlib-dev \
34+
ncurses-dev \
35+
bison \
36+
autoconf \
37+
&& echo "gem: --no-ri --no-rdoc" > /etc/gemrc \
38+
&& bundle install --system $BUNDLER_ARGS \
39+
&& apk del .ruby-builddeps \
40+
&& rm -rf /var/cache/apk/*
4541

4642
ADD ./ $APP_HOME
4743
CMD ["./msfconsole", "-r", "docker/msfconsole.rc"]

docker/docker-compose.development.override.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
version: '2'
22

33
services:
4-
ms: &ms
4+
ms:
5+
build:
6+
args:
7+
BUNDLER_ARGS: --jobs=8
8+
image: metasploit:dev
59
environment:
610
DATABASE_URL: postgres://postgres@db:5432/msf_dev
711

0 commit comments

Comments
 (0)