README.md 2.17 KB
Newer Older
Ansgar Burchardt's avatar
Ansgar Burchardt committed
1 2 3 4 5 6 7 8
Docker images for GitLab CI
===========================

Images
------

The current images are:

9 10 11
| image                    | parent          | description                                               |
|--------------------------|-----------------|-----------------------------------------------------------|
| duneci/base:8            | debian:8        | Debian 8 with gcc 4.9.2, clang 3.5, cmake 3.0.2           |
12
| duneci/base:9            | debian:9        | Debian 9 with gcc 5.4.0, clang 3.6, cmake 3.4.1           |
13 14 15 16 17
| duneci/dune:2.3          | duneci/base:8   | DUNE 2.3 core modules from Debian                         |
| duneci/dune:2.4          | duneci/base:9   | DUNE 2.4 core modules from Debian                         |
| duneci/dune:git          | duneci/base:9   | DUNE 3.0-dev snapshot                                     |
| duneci/dune-fufem:2.4    | duneci/dune:2.4 | dune-{fufem,functions,solvers,typetree} (2.4 branches)    |
| duneci/dune-fufem:git    | duneci/dune:git | dune-{fufem,functions,solvers,typetree} (master branches) |
Ansgar Burchardt's avatar
Ansgar Burchardt committed
18 19 20 21

`.gitlab-ci.yml`
----------------

22 23 24 25 26 27 28
Installing dependencies:
```
before_script:
  - duneci-install-module https://gitlab.dune-project.org/core/dune-common.git
  - duneci-install-module https://gitlab.dune-project.org/core/dune-geometry.git
```

Ansgar Burchardt's avatar
Ansgar Burchardt committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
To build with several images:
```
---
dune:2.3--gcc:
  image: duneci/dune:2.3
  script:
  - configure
  - build

dune:2.3--clang:
  image: duneci/dune:2.3
  script:
  - configure CXX=/usr/bin/clang++
  - build
```

You can also specify a default image and use it in several jobs:

```
Ansgar Burchardt's avatar
Ansgar Burchardt committed
48
---
Ansgar Burchardt's avatar
Ansgar Burchardt committed
49 50 51 52 53 54 55 56 57 58 59 60
image: duneci/dune:2.4

dune:2.4--gcc:
  script:
  - configure
  - build

dune:2.4--clang:
  script:
  - configure CXX=/usr/bin/clang++
  - build
```
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81

Updating gitlab-runner
----------------------

To update `gitlab-runner` on the VM:

```
docker pull gitlab/gitlab-runner:latest
docker stop gitlab-runner
docker rm -v gitlab-runner
docker run -d --name gitlab-runner --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest
```

The current version can be shown by running

```
docker exec -it gitlab-runner gitlab-runner -v
```