Skip to content

Latest commit

 

History

History
55 lines (47 loc) · 3.23 KB

File metadata and controls

55 lines (47 loc) · 3.23 KB

hawkBit Docker Build

This directory contains docker files for building both hawkBit docker flavours:

  • standard - hawkBit images without mysql driver
  • mysql - with MariaDB Java connector with support for MySQL.

Both flavours of are almost the same, just mysql has in addition a MariaDB Java connector and is started, by default, with mysql Spring profile.

For every flavour there are two build types:

  • release - uses officially released hawkBit versions, downloading them from https://repo1.maven.org
  • development/dev - uses the local maven repository with built by developer (or just downloaded from any maven repository) hawkBit applications

Build overview

Building images supports the following build arguments (i.e. ARG-s which could be passed using --build-arg):

  • JAVA_VERSION - [OPTIONAL, if not set a default is used] the Java version of the eclipse-temurin jre-alpine base image to be used.
  • HAWKBIT_APP - [OPTIONAL, if not set hawkbit-update-server is used] the application to be build. Currently, there is just hawkbit-update-server but in future, if hawkBit is split to micro-services, there could be different micro-service apps.
  • HAWKBIT_VERSION - [OPTIONAL, if not set a default, should be the last officially released version, is used] the application version
  • CONTAINER_PORT - [OPTIONAL, if not set 8080 is used] on which the app opens the http server (if available)
  • MARIADB_DRIVER_VERSION (mysql flavours only!) - [OPTIONAL, if not set a default is used] the version of MariaDB connector to be used

Additionally, tge development builds shall be started with docker build context the local maven repository

Build standard

Standard flavour could be build, for example, with (fixed version 0.4.1 is just an example):

docker build --build-arg HAWKBIT_APP=hawkbit-update-server --build-arg HAWKBIT_VERSION=0.4.1 -t hawkbit_update_server:0.4.1 . -f Dockerfile

or just by:

docker build --build-arg HAWKBIT_VERSION=0.4.1 -t hawkbit_update_server:0.4.1 .

having that docker uses by default Dockerfile and the hawkbit-update-server is the default HAWKBIT_APP.

To build standard development docker images, e.g. snapshot based, you could use something like:

docker build -t hawkbit_update_server:0-SNAPSHOT -f Dockerfile_dev ~/.m2/repository

Note that here you have to use your maven repository containing the hawkBit app as docker build context, in the example case ~/.m2/repository

Build mysql

Mysql flavour could be build, for example, with:

docker build --build-arg HAWKBIT_APP=hawkbit-update-server --build-arg HAWKBIT_VERSION=0.4.1 -t hawkbit_update_server:0.4.1-mysql . -f Dockerfile-mysql

or just by:

docker build --build-arg -t hawkbit_update_server:0.4.1-mysql --build-arg HAWKBIT_VERSION=0.4.1 . -f Dockerfile-mysql

having that the hawkbit-update-server is the default HAWKBIT_APP.

To build development mysql docker images, e.g. snapshot based, you could use something like:

docker build -t hawkbit_update_server:0-SNAPSHOT-mysql -f Dockerfile_dev-mysql ~/.m2/repository

Note that here you have to use your maven repository containing the hawkBit app as docker build context, in the example case ~/.m2/repository