Created Docker Images (markdown)
[dealii.wiki.git] / Docker-Images.md
1  Several docker images with full installations of deal.II and (almost) all its dependencies are
2 available on https://hub.docker.com/r/dealii/dealii/.
3
4 These images are guaranteed to work identically on Mac OS, Linux, Windows, on Travis CI, and on gitlab CI. 
5
6 Here you can find an example `.travis.yml` that uses one of the available images to test a user application using a controlled environment:
7
8 ~~~
9 sudo: required
10
11 env:
12   - BUILD_TYPE=Release
13   - BUILD_TYPE=Debug
14
15 services:
16   - docker
17
18 notifications:
19   email: false
20
21 language: C++
22
23 before_install:
24 - docker pull dealii/dealii:v8.5.0-gcc-mpi-fulldepsmanual-debugrelease
25
26 script:
27 - export DOCKER_RUN="docker run -P -v `pwd`:/home/dealii/app:rw dealii/dealii:v8.5.0-gcc-mpi-fulldepsmanual-debugrelease  /bin/sh -c"
28 - $DOCKER_RUN "test -d app/build-travis && rm -rf app/build-travis; mkdir app/build-travis; cd app/build-travis; cmake -GNinja ../; ninja"
29 - $DOCKER_RUN "cd app/build-travis; ctest -N; ctest -V"
30 ~~~
31
32 Gitlab works differently, allowing you to directly run the tester inside your custom image. An example `.gitlab-ci.yml` to use with your own applications is here:
33
34 ~~~
35 image: dealii/dealii:v8.5.0-gcc-mpi-fulldepsmanual-debugrelease
36
37 before_script:
38   - ./scripts/check_indentation.sh
39
40 debug:
41   script:
42    - test -d build_linux_debug && rm -rf build_linux_debug
43    - mkdir build_linux_debug; cd build_linux_debug; cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug; ninja
44    - ctest -N; ctest -V; cd ..
45
46 release:
47   script:
48    - test -d build_linux_release && rm -rf build_linux_release
49    - mkdir build_linux_release; cd build_linux_release; cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release; ninja
50    - ctest -N; ctest -V; cd ..
51 ~~~
52
53 The above will create two `pipelines`, in gitlab terminology, and run a `Debug` and `Release` ctest.

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.