mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
cmake: fix docker builds
This commit is contained in:
parent
fc6f63b192
commit
b10235ffab
5 changed files with 43 additions and 53 deletions
|
@ -40,12 +40,10 @@ foreach(SUFFIX app dev dev-centos dev-ubuntu)
|
|||
add_custom_target(deploy-docker-${SUFFIX}
|
||||
COMMAND docker push ${DOCKER_IMAGE}-${SUFFIX}:${DOCKER_TAG}
|
||||
COMMAND docker push ${DOCKER_IMAGE}-${SUFFIX}:latest
|
||||
DEPENDS docker-${SUFFIX}
|
||||
)
|
||||
|
||||
add_custom_target(run-docker-${SUFFIX}
|
||||
COMMAND docker run ${DOCKER_RUN_OPTS} ${DOCKER_IMAGE}-${SUFFIX}:${DOCKER_TAG}
|
||||
DEPENDS docker-${SUFFIX}
|
||||
)
|
||||
|
||||
add_custom_target(docker-${SUFFIX}
|
||||
|
@ -61,13 +59,19 @@ foreach(SUFFIX app dev dev-centos dev-ubuntu)
|
|||
--build-arg VARIANT=${VARIANT}
|
||||
${DOCKER_BUILD_OPTS} ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
|
||||
add_dependencies(deploy-docker-${SUFFIX} docker-${SUFFIX})
|
||||
add_dependencies(run-docker-${SUFFIX} docker-${SUFFIX})
|
||||
endforeach()
|
||||
|
||||
# Special cases for 'docker'target
|
||||
add_custom_target(docker DEPENDS docker-app
|
||||
add_custom_target(run-docker
|
||||
COMMAND docker run ${DOCKER_RUN_OPTS} ${DOCKER_IMAGE}:${DOCKER_TAG} node -h
|
||||
)
|
||||
|
||||
add_custom_target(docker
|
||||
COMMAND docker tag ${DOCKER_IMAGE}-app:${DOCKER_TAG} ${DOCKER_IMAGE}:${DOCKER_TAG}
|
||||
COMMAND docker tag ${DOCKER_IMAGE}-app:${DOCKER_TAG} ${DOCKER_IMAGE}:latest
|
||||
DEPENDS docker-dev
|
||||
)
|
||||
|
||||
add_custom_target(deploy-docker DEPENDS docker-app
|
||||
|
@ -75,4 +79,6 @@ add_custom_target(deploy-docker DEPENDS docker-app
|
|||
COMMAND docker push ${DOCKER_IMAGE}:latest
|
||||
)
|
||||
|
||||
add_custom_target(run-docker DEPENDS run-docker-app)
|
||||
add_dependencies(docker docker-app)
|
||||
add_dependencies(deploy-docker deploy-docker-app)
|
||||
add_dependencies(run-docker docker)
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
# Dockerfile for VILLASnode dependencies.
|
||||
# Dockerfile
|
||||
#
|
||||
# This Dockerfile builds an image which contains all library dependencies
|
||||
# and tools to build VILLASnode.
|
||||
# However, VILLASnode itself it not part of the image.
|
||||
# This image can be used for running VILLASnode
|
||||
# by running:
|
||||
# make docker
|
||||
#
|
||||
# @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
|
||||
# @copyright 2017, Institute for Automation of Complex Power Systems, EONERC
|
||||
# @copyright 2017-2018, Institute for Automation of Complex Power Systems, EONERC
|
||||
# @license GNU General Public License (version 3)
|
||||
#
|
||||
# VILLASnode
|
||||
|
@ -25,45 +25,29 @@
|
|||
###################################################################################
|
||||
|
||||
ARG BUILDER_IMAGE=villas/node-dev
|
||||
ARG DOCKER_TAG=latest
|
||||
ARG GIT_REV=unknown
|
||||
ARG GIT_BRANCH=unknown
|
||||
ARG VERSION=unknown
|
||||
ARG VARIANT=unknown
|
||||
|
||||
# This image is built by villas-node-git/packaging/docker/Dockerfile.dev
|
||||
FROM villas/node-dev:develop AS builder
|
||||
FROM $BUILDER_IMAGE AS builder
|
||||
|
||||
COPY . /villas-node/
|
||||
COPY . /villas/
|
||||
|
||||
RUN rm -rf /villas-node/build
|
||||
WORKDIR /villas-node
|
||||
|
||||
#RUN dnf -y install
|
||||
|
||||
RUN make -j2 rpm-villas-node
|
||||
RUN rm -rf /villas/build && mkdir /villas/build
|
||||
WORKDIR /villas/build
|
||||
RUN cmake -DCPACK_GENERATOR=RPM ..
|
||||
RUN make -j$(nproc) doc
|
||||
RUN make -j$(nproc) package
|
||||
|
||||
FROM fedora:28
|
||||
|
||||
ARG GIT_REV=unkown
|
||||
ARG GIT_BRANCH=unkown
|
||||
ARG VERSION=unkown
|
||||
ARG VARIANT=unkown
|
||||
|
||||
# Some of the dependencies are only available in our own repo
|
||||
ADD https://packages.fein-aachen.org/redhat/fein.repo /etc/yum.repos.d/
|
||||
|
||||
# Usually the following dependecies would be resolved by dnf
|
||||
# when installing villas-node.
|
||||
# We add them here to utilise Dockers caching and layer feature
|
||||
# in order reduce bandwidth and space usage.
|
||||
RUN dnf -y install \
|
||||
openssl \
|
||||
libconfig \
|
||||
libnl3 \
|
||||
libcurl \
|
||||
jansson \
|
||||
iproute \
|
||||
module-init-tools
|
||||
|
||||
ADD https://villas.fein-aachen.org/packages/villas.repo /etc/yum.repos.d/
|
||||
|
||||
COPY --from=builder /villas-node/build/Linux-x86_64-release/packaging/rpm/RPMS/x86_64/*.rpm /tmp/
|
||||
COPY --from=builder /villas/build/*.rpm /tmp/
|
||||
RUN dnf -y install /tmp/*.rpm
|
||||
|
||||
# For WebSocket / API access
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
#
|
||||
# This image can be used for developing VILLASnode
|
||||
# by running:
|
||||
# make docker
|
||||
# make docker-dev
|
||||
#
|
||||
# @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
|
||||
# @copyright 2017, Institute for Automation of Complex Power Systems, EONERC
|
||||
# @copyright 2017-2018, Institute for Automation of Complex Power Systems, EONERC
|
||||
# @license GNU General Public License (version 3)
|
||||
#
|
||||
# VILLASnode
|
||||
|
@ -30,10 +30,10 @@
|
|||
|
||||
FROM fedora:28
|
||||
|
||||
ARG GIT_REV=unkown
|
||||
ARG GIT_BRANCH=unkown
|
||||
ARG VERSION=unkown
|
||||
ARG VARIANT=unkown
|
||||
ARG GIT_REV=unknown
|
||||
ARG GIT_BRANCH=unknown
|
||||
ARG VERSION=unknown
|
||||
ARG VARIANT=unknown
|
||||
|
||||
# Toolchain
|
||||
RUN dnf -y install \
|
||||
|
|
|
@ -30,10 +30,10 @@
|
|||
|
||||
FROM centos:7
|
||||
|
||||
ARG GIT_REV=unkown
|
||||
ARG GIT_BRANCH=unkown
|
||||
ARG VERSION=unkown
|
||||
ARG VARIANT=unkown
|
||||
ARG GIT_REV=unknown
|
||||
ARG GIT_BRANCH=unknown
|
||||
ARG VERSION=unknown
|
||||
ARG VARIANT=unknown
|
||||
|
||||
# Some of the dependencies are only available in our own repo
|
||||
ADD https://villas.fein-aachen.org/packages/villas.repo /etc/yum.repos.d/
|
||||
|
|
|
@ -32,10 +32,10 @@
|
|||
FROM ubuntu:xenial
|
||||
#FROM debian:jessie
|
||||
|
||||
ARG GIT_REV=unkown
|
||||
ARG GIT_BRANCH=unkown
|
||||
ARG VERSION=unkown
|
||||
ARG VARIANT=unkown
|
||||
ARG GIT_REV=unknown
|
||||
ARG GIT_BRANCH=unknown
|
||||
ARG VERSION=unknown
|
||||
ARG VARIANT=unknown
|
||||
|
||||
# Toolchain
|
||||
RUN apt-get update && apt-get install -y \
|
||||
|
|
Loading…
Add table
Reference in a new issue