Repository contains rules and Dockerfiles to prepare various Docker images used in the Flow123d development and continuous integration.
-
flow123d/base-gnu
Auxiliary base of all gnu images. -
flow123d/base-intel
Auxiliary base of all intel images. -
flow123d/base-build-gnu
FROM:base-gnu
Auxiliary base of the development gnu images. Contains common build tools: compilers, cmake, git, valgrind, ... -
flow123d/base-build-intel
FROM:base-intel
Auxiliary base of the development intel images. Contains common build tools: compilers, cmake, git, valgrind, ... -
flow123d/libs-gnu
FROM:base-build-gnu
Auxiliary image for building necessary libraries for Flow123d and GNU environment. -
flow123d/libs-intel
FROM:base-build-intel
Auxiliary image for building necessary libraries for Flow123d and Intel environment. -
flow123d/flow-dev-gnu
depends on: libs-gnu, release libraries FROM:base-build-gnu
Debug development image. -
flow123d/flow-dev-intel
depends on: libs-intel, release libraries FROM:base-build-intel
Release development image. -
flow123d/install-gnu
FROM:base-gnu
Base for install package image, based on GNU. -
flow123d/install-intel
FROM:base-intel
Base for install package image, based on Intel. -
flow123d/ci-gnu
FROM:base-gnu
Repository of continuous builds, tagged by branch and commit, GNU base. -
flow123d/ci-intel
FROM:base-intel
Repository of continuous builds, tagged by branch and commit, Intel base. -
flow123d/flow123d-gnu
FROM:base-gnu
Release install image, GNU base. -
flow123d/flow123d-intel
FROM:base-intel
Release install image, Intel base.
How to build new images?
-
Set new version of images, according to the first Flow123d version that will use them.
makefile: images_version=X.Y.Z
-
Download source packages for own build libraries (YAMLCPP, Armadillo, MPICH, PETSC, BDDCML), upload them to:
astra.nti.tul.cz/Projekty/Modelari/flow123d/libraries
-
Modify
dockerfiles
for the images, in particular set lib versions in:dockerfiles/flow-libc
,dockerfiles/flow-libs-dev
, anddockerfiles/install-gnu
-
Upload images (flow-dev-gnu-TYPE, install):
docker push flow123d/IMAGE_NAME:VERSION
-
Update
config.default.cmake
in flow123d. -
Try to build flow123d:
bin/fterm dbg @VERSION make all
and release build:
bin/fterm dbg @VERSION make all
-
Fix Jenkins CI build:
ciflow.nti.tul.cz:8080/
Update configuration. -
Fix package builds.
-
Mark images as latest, (possibly deprecated, no need for the latest, but latest is default version for the docker)
docker tag flow123d/IMAGE_NAME:VERSION flow123d/IMAGE_NAME:latest
-
Check all processes again.