diff options
author | Joona Hoikkala <joohoi@users.noreply.github.com> | 2017-02-24 22:40:03 +0300 |
---|---|---|
committer | Jacob Hoffman-Andrews <github@hoffman-andrews.com> | 2017-02-24 22:40:03 +0300 |
commit | e02d641490181fb7c7722ec85b52052fe07f3534 (patch) | |
tree | ea8d9039aec7c99bc62e1d3412466463f38d5635 /Dockerfile-dev | |
parent | 28cbd6e7d385ce0bd4c28e49e422d6eaf51f9cdb (diff) |
Docker changes for easier testing (#4249)
These changes allow developers to run tests directly from the host machine using Docker, and to enable ipdb inside the container.
docker-compose.yml is upgraded to version 2 format. This means that you need docker-engine version >= 1.10.0 instead of previous requirement of version >= 1.9.1. The reason for this is to be able to use custom Dockerfile (Dockerfile-dev in this case) in build context.
ipdb has been added to dev dependencies to be able to be able to debug the code without installing it on every docker run. This is also what we recommend for debugging in the developer documentation, so there really is no reason not to install it with the dev dependencies.
setuptools is being upgraded to a newer version to be able to run coverage tests. This was using the older version of setuptools for some reason, and without the upgrade, coverage tests would fail horribly. Upgrading remedies the situation.
Few examples:
Run unit tests for certbot-apache
`docker-compose run --rm --service-ports development bash -c 'cd src;nosetests -v certbot-apache'`
Run coverage tests
`docker-compose run --rm --service-ports development bash -c 'cd src;./tox.cover.sh'`
Run linter
`docker-compose run --rm --service-ports development bash -c 'cd src;tox -e lint'`
Diffstat (limited to 'Dockerfile-dev')
-rw-r--r-- | Dockerfile-dev | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Dockerfile-dev b/Dockerfile-dev index 098fae523..dbb45f75e 100644 --- a/Dockerfile-dev +++ b/Dockerfile-dev @@ -58,7 +58,8 @@ RUN virtualenv --no-site-packages -p python2 /opt/certbot/venv && \ -e /opt/certbot/src/certbot-nginx \ -e /opt/certbot/src/letshelp-certbot \ -e /opt/certbot/src/certbot-compatibility-test \ - -e /opt/certbot/src[dev,docs] + -e /opt/certbot/src[dev,docs] && \ + /opt/certbot/venv/bin/pip install -U setuptools # install in editable mode (-e) to save space: it's not possible to # "rm -rf /opt/certbot/src" (it's stays in the underlaying image); |