more docker work

bug/bundler_fix
Christian Mehlmauer 2017-04-22 02:10:00 +02:00
parent 89e81253ed
commit af003b28d1
No known key found for this signature in database
GPG Key ID: DCF54A05D6E62591
5 changed files with 54 additions and 40 deletions

View File

@ -5,6 +5,10 @@ docker-compose*.yml
docker/ docker/
!docker/msfconsole.rc !docker/msfconsole.rc
README.md README.md
.git/
.github/
.ruby-version
.ruby-gemset
.bundle .bundle
Gemfile.local Gemfile.local
@ -93,3 +97,6 @@ data/meterpreter/ext_server_pivot.*.dll
# https://rapid7.github.io/metasploit-framework. It's an orphan branch. # https://rapid7.github.io/metasploit-framework. It's an orphan branch.
/metakitty /metakitty
.vagrant .vagrant
# no need for rspecs
spec/

View File

@ -16,12 +16,15 @@ rvm:
- '2.4.1' - '2.4.1'
env: env:
- RAKE_TASKS="cucumber cucumber:boot" CREATE_BINSTUBS=true - CMD=bundle exec rake "cucumber cucumber:boot" CREATE_BINSTUBS=true
- RAKE_TASKS=spec SPEC_OPTS="--tag content" - CMD=bundle exec rake spec SPEC_OPTS="--tag content"
- RAKE_TASKS=spec SPEC_OPTS="--tag ~content" - CMD=bundle exec rake spec SPEC_OPTS="--tag ~content"
matrix: matrix:
fast_finish: true fast_finish: true
include:
- rvm: ruby-head
env: CMD=docker-compose -f $TRAVIS_BUILD_DIR/docker-compose.yml build
before_install: before_install:
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc" - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
- rake --version - rake --version
@ -36,7 +39,7 @@ before_script:
- bundle exec rake db:migrate - bundle exec rake db:migrate
script: script:
# fail build if db/schema.rb update is not committed # fail build if db/schema.rb update is not committed
- git diff --exit-code db/schema.rb && bundle exec rake $RAKE_TASKS - git diff --exit-code db/schema.rb && $CMD
notifications: notifications:
irc: "irc.freenode.org#msfnotify" irc: "irc.freenode.org#msfnotify"
@ -49,3 +52,6 @@ branches:
except: except:
- gh-pages - gh-pages
- metakitty - metakitty
services:
- docker

View File

@ -1,6 +1,6 @@
version: '2' version: '2'
services: services:
ms: &ms ms:
image: metasploit image: metasploit
build: build:
context: . context: .

View File

@ -1,7 +1,7 @@
FROM ruby:2.3-alpine FROM ruby:2.3-alpine
MAINTAINER Rapid7 MAINTAINER Rapid7
ARG BUNDLER_ARGS="--system --jobs=8" ARG BUNDLER_ARGS="--jobs=8 --without development test coverage"
ENV APP_HOME /usr/src/metasploit-framework/ ENV APP_HOME /usr/src/metasploit-framework/
WORKDIR $APP_HOME WORKDIR $APP_HOME
@ -9,39 +9,36 @@ COPY Gemfile* m* Rakefile $APP_HOME
COPY lib $APP_HOME/lib COPY lib $APP_HOME/lib
RUN apk update && \ RUN apk update && \
apk add \ apk add \
ruby-bigdecimal \ sqlite-libs \
ruby-bundler \ nmap \
ruby-io-console \ # libxslt \
autoconf \ postgresql-libs \
bison \ # needed as long as metasploit-framework.gemspec contains a 'git ls'
subversion \ git \
git \ ncurses \
sqlite \ && apk add --virtual .ruby-builddeps \
nmap \ autoconf \
libxslt \ bison \
postgresql \ build-base \
ncurses \ ruby-dev \
&& apk add --virtual .ruby-builddeps \ libffi-dev\
build-base \ openssl-dev \
ruby-dev \ readline-dev \
libffi-dev\ sqlite-dev \
openssl-dev \ postgresql-dev \
readline-dev \ libpcap-dev \
sqlite-dev \ libxml2-dev \
postgresql-dev \ libxslt-dev \
libpcap-dev \ yaml-dev \
libxml2-dev \ zlib-dev \
libxslt-dev \ ncurses-dev \
yaml-dev \ bison \
zlib-dev \ autoconf \
ncurses-dev \ && echo "gem: --no-ri --no-rdoc" > /etc/gemrc \
bison \ && bundle install --system $BUNDLER_ARGS \
autoconf \ && apk del .ruby-builddeps \
&& echo "gem: --no-ri --no-rdoc" > /etc/gemrc \ && rm -rf /var/cache/apk/*
&& bundle install $BUNDLER_ARGS \
&& apk del .ruby-builddeps \
&& rm -rf /var/cache/apk/*
ADD ./ $APP_HOME ADD ./ $APP_HOME
CMD ["./msfconsole", "-r", "docker/msfconsole.rc"] CMD ["./msfconsole", "-r", "docker/msfconsole.rc"]

View File

@ -1,7 +1,11 @@
version: '2' version: '2'
services: services:
ms: &ms ms:
build:
args:
BUNDLER_ARGS: --jobs=8
image: metasploit:dev
environment: environment:
DATABASE_URL: postgres://postgres@db:5432/msf_dev DATABASE_URL: postgres://postgres@db:5432/msf_dev