2016-09-07 06:23:47 +02:00
|
|
|
variables:
|
2017-04-27 09:33:53 +02:00
|
|
|
GIT_STRATEGY: fetch
|
2017-04-06 15:04:47 +02:00
|
|
|
GIT_SUBMODULE_STRATEGY: recursive
|
2021-01-04 18:47:13 +01:00
|
|
|
DISTRO: fedora # standard distro
|
2020-11-12 01:19:37 +01:00
|
|
|
DOCKER_FILE: packaging/docker/Dockerfile.${DISTRO}
|
2019-03-09 13:07:39 +01:00
|
|
|
DOCKER_TAG: ${CI_COMMIT_REF_NAME}
|
2019-10-26 14:54:11 +02:00
|
|
|
DOCKER_IMAGE: registry.git.rwth-aachen.de/acs/public/villas/node
|
2020-11-12 01:19:37 +01:00
|
|
|
DOCKER_IMAGE_DEV: ${DOCKER_IMAGE}/dev-${DISTRO}
|
2020-11-11 21:32:07 +01:00
|
|
|
DOCKER_CLI_EXPERIMENTAL: enabled
|
2021-01-06 17:43:11 +01:00
|
|
|
DOCKER_PLATFORMS: amd64 armv6 armv7 arm64
|
2020-11-12 01:19:37 +01:00
|
|
|
MAKE_OPTS: "-j16"
|
2016-09-07 06:23:47 +02:00
|
|
|
|
|
|
|
stages:
|
2020-06-07 01:38:05 +02:00
|
|
|
- prepare
|
|
|
|
- build
|
|
|
|
- test
|
|
|
|
- packaging
|
|
|
|
- deploy
|
2021-01-08 21:11:16 +01:00
|
|
|
- latest
|
2017-05-01 16:57:30 +02:00
|
|
|
|
2016-09-27 19:27:19 -04:00
|
|
|
# Stage: prepare
|
|
|
|
##############################################################################
|
2016-09-07 06:23:47 +02:00
|
|
|
|
|
|
|
# Build docker image which is used to build & test VILLASnode
|
2021-01-08 11:01:46 +01:00
|
|
|
prepare:docker:
|
2016-09-07 06:23:47 +02:00
|
|
|
stage: prepare
|
2020-12-04 13:55:22 +01:00
|
|
|
image: docker:19.03
|
2016-09-07 06:23:47 +02:00
|
|
|
script:
|
2020-12-04 13:55:22 +01:00
|
|
|
- docker build ${DOCKER_OPTS}
|
2020-06-07 01:38:05 +02:00
|
|
|
--file ${DOCKER_FILE}
|
2021-01-04 18:47:13 +01:00
|
|
|
--tag ${DOCKER_IMAGE_DEV}:${DOCKER_TAG}
|
2020-11-12 01:16:33 +01:00
|
|
|
--target dev .
|
2021-01-08 11:01:46 +01:00
|
|
|
parallel:
|
|
|
|
matrix:
|
2021-01-08 21:11:16 +01:00
|
|
|
- DISTRO: [ ubuntu, debian, centos ]
|
2021-01-08 11:01:46 +01:00
|
|
|
- DISTRO: fedora
|
2021-01-08 21:11:16 +01:00
|
|
|
DOCKER_OPTS: --tag ${DOCKER_IMAGE}/dev:${CI_COMMIT_REF_NAME}
|
2021-01-08 11:01:46 +01:00
|
|
|
- DISTRO: fedora
|
|
|
|
DOCKER_FILE: packaging/docker/Dockerfile.fedora-minimal
|
|
|
|
DOCKER_IMAGE_DEV: ${DOCKER_IMAGE}/dev-fedora-minimal
|
|
|
|
- DISTRO: debian
|
|
|
|
DOCKER_FILE: packaging/docker/Dockerfile.debian-multiarch
|
|
|
|
DOCKER_IMAGE_DEV: ${DOCKER_IMAGE}/dev-debian-armhf
|
|
|
|
DOCKER_OPTS: --build-arg ARCH=armhf
|
|
|
|
--build-arg TRIPLET=arm-linux-gnueabihf
|
|
|
|
- DISTRO: debian
|
|
|
|
DOCKER_FILE: packaging/docker/Dockerfile.debian-multiarch
|
|
|
|
DOCKER_IMAGE_DEV: ${DOCKER_IMAGE}/dev-debian-arm64
|
|
|
|
DOCKER_OPTS: --build-arg ARCH=arm64
|
|
|
|
--build-arg TRIPLET=aarch64-linux-gnu
|
2016-10-14 01:08:57 -04:00
|
|
|
tags:
|
2020-12-04 13:55:22 +01:00
|
|
|
- docker
|
2016-09-07 06:23:47 +02:00
|
|
|
|
2016-09-27 19:27:19 -04:00
|
|
|
# Stage: build
|
|
|
|
##############################################################################
|
2016-09-07 06:23:47 +02:00
|
|
|
|
2021-01-08 21:11:16 +01:00
|
|
|
build:source:
|
2016-09-07 06:23:47 +02:00
|
|
|
stage: build
|
2021-01-08 21:11:16 +01:00
|
|
|
image: ${DOCKER_IMAGE_DEV}:${DOCKER_TAG}
|
2016-09-07 06:23:47 +02:00
|
|
|
script:
|
2020-06-07 01:38:05 +02:00
|
|
|
- mkdir -p build && cd build
|
2021-01-08 21:11:16 +01:00
|
|
|
- ${CMAKE} ${CMAKE_OPTS} ..
|
2020-06-07 01:38:05 +02:00
|
|
|
- make ${MAKE_OPTS}
|
2016-09-07 06:23:47 +02:00
|
|
|
artifacts:
|
2017-07-02 20:39:58 +02:00
|
|
|
expire_in: 1 week
|
2016-09-07 06:23:47 +02:00
|
|
|
paths:
|
2020-06-07 01:38:05 +02:00
|
|
|
- build/
|
2021-01-08 21:11:16 +01:00
|
|
|
variables:
|
|
|
|
CMAKE: cmake
|
2021-01-08 11:01:46 +01:00
|
|
|
parallel:
|
|
|
|
matrix:
|
2021-01-08 21:11:16 +01:00
|
|
|
- DISTRO: [ fedora, fedora-minimal, debian, debian-armhf, debian-arm64 ]
|
2021-01-08 11:01:46 +01:00
|
|
|
- DISTRO: fedora-minimal
|
|
|
|
CMAKE_OPTS: -DWITH_GRAPHVIZ=OFF
|
|
|
|
-DWITH_HOOKS=OFF
|
|
|
|
-DWITH_WEB=OFF
|
|
|
|
-DWITH_API=OFF
|
|
|
|
-DWITH_CONFIG=OFF
|
|
|
|
-DWITH_SRC=OFF
|
|
|
|
-DWITH_TOOLS=OFF
|
|
|
|
-DWITH_TESTS=OFF
|
|
|
|
-DWITH_PLUGINS=OFF
|
|
|
|
-DWITH_CLIENTS=OFF
|
|
|
|
-DWITH_DOC=OFF
|
|
|
|
-DWITH_FPGA=OFF
|
2021-01-08 21:11:16 +01:00
|
|
|
- DISTRO: centos
|
|
|
|
CMAKE: cmake3
|
|
|
|
CMAKE_OPTS: -DCMAKE_MODULE_PATH=/usr/local/lib64/cmake
|
|
|
|
-DCMAKE_PREFIX_PATH=/usr/local
|
2021-01-08 11:01:46 +01:00
|
|
|
- DISTRO: ubuntu
|
|
|
|
CMAKE_OPTS: -DCMAKE_MODULE_PATH=/usr/local/lib64/cmake
|
|
|
|
-DCMAKE_PREFIX_PATH=/usr/local
|
2016-10-14 01:08:57 -04:00
|
|
|
tags:
|
2020-06-07 01:38:05 +02:00
|
|
|
- docker
|
|
|
|
|
2019-04-05 02:19:40 +02:00
|
|
|
build:docs:
|
|
|
|
stage: build
|
|
|
|
artifacts:
|
|
|
|
name: ${CI_PROJECT_NAME}-doc-${CI_BUILD_REF}
|
|
|
|
paths:
|
2020-06-07 01:38:05 +02:00
|
|
|
- build/doc/
|
2019-04-05 02:19:40 +02:00
|
|
|
script:
|
2020-06-07 01:38:05 +02:00
|
|
|
- mkdir -p build && cd build
|
2020-06-15 23:01:26 +02:00
|
|
|
- cmake ${CMAKE_OPTS} ..
|
2020-06-07 01:38:05 +02:00
|
|
|
- make ${MAKE_OPTS} doc
|
2020-11-12 01:16:33 +01:00
|
|
|
image: ${DOCKER_IMAGE}/dev:${DOCKER_TAG}
|
2017-03-29 08:13:44 +02:00
|
|
|
tags:
|
2020-06-07 01:38:05 +02:00
|
|
|
- docker
|
2017-03-29 08:13:44 +02:00
|
|
|
|
2016-09-07 06:23:47 +02:00
|
|
|
|
2016-09-27 19:27:19 -04:00
|
|
|
# Stage: test
|
|
|
|
##############################################################################
|
|
|
|
|
2021-01-04 18:47:13 +01:00
|
|
|
test:flake8:
|
|
|
|
stage: test
|
|
|
|
script:
|
|
|
|
- flake8 python/
|
|
|
|
image: ${DOCKER_IMAGE}/dev:${DOCKER_TAG}
|
|
|
|
tags:
|
|
|
|
- docker
|
2021-01-08 21:11:16 +01:00
|
|
|
needs:
|
|
|
|
- job: "build:source: [fedora]"
|
2021-01-04 18:47:13 +01:00
|
|
|
|
|
|
|
test:cppcheck:
|
|
|
|
stage: test
|
|
|
|
script:
|
|
|
|
- cppcheck -j $(nproc)
|
|
|
|
--max-configs=32
|
|
|
|
--error-exitcode=1
|
|
|
|
--quiet
|
|
|
|
--inline-suppr
|
|
|
|
--enable=warning,performance,portability,information,missingInclude
|
|
|
|
--std=c++11
|
|
|
|
--suppress=noValidConfiguration
|
|
|
|
-I include
|
|
|
|
-I common/include
|
|
|
|
src/ lib/ tests/unit/ | tee cppcheck.log
|
|
|
|
image: ${DOCKER_IMAGE}/dev:${DOCKER_TAG}
|
|
|
|
tags:
|
|
|
|
- docker
|
2021-01-08 21:11:16 +01:00
|
|
|
needs:
|
|
|
|
- job: "build:source: [fedora]"
|
2021-01-04 18:47:13 +01:00
|
|
|
artifacts:
|
|
|
|
when: on_failure
|
|
|
|
paths:
|
|
|
|
- cppcheck.log
|
|
|
|
expose_as: cppcheck
|
|
|
|
|
|
|
|
test:unit:
|
|
|
|
stage: test
|
2021-01-08 21:11:16 +01:00
|
|
|
image: ${DOCKER_IMAGE}/dev:${DOCKER_TAG}
|
2021-01-04 18:47:13 +01:00
|
|
|
variables:
|
|
|
|
LD_PRELOAD: /usr/lib64/libSegFault.so
|
|
|
|
SEGFAULT_SIGNALS: all
|
|
|
|
script:
|
|
|
|
- mkdir -p build && cd build
|
|
|
|
- cmake ${CMAKE_OPTS} ..
|
|
|
|
- make ${MAKE_OPTS} run-unit-tests
|
|
|
|
tags:
|
|
|
|
- docker
|
2021-01-08 21:11:16 +01:00
|
|
|
needs:
|
|
|
|
- job: "build:source: [fedora]"
|
|
|
|
artifacts: true
|
2021-01-04 18:47:13 +01:00
|
|
|
|
|
|
|
test:integration:
|
|
|
|
stage: test
|
2021-01-08 21:11:16 +01:00
|
|
|
image: ${DOCKER_IMAGE}/dev:${DOCKER_TAG}
|
2021-01-04 18:47:13 +01:00
|
|
|
allow_failure: true
|
|
|
|
script:
|
|
|
|
- mkdir -p build && cd build
|
|
|
|
- cmake ${CMAKE_OPTS} ..
|
|
|
|
- make ${MAKE_OPTS} run-integration-tests
|
|
|
|
artifacts:
|
|
|
|
name: ${CI_PROJECT_NAME}-integration-tests-${CI_BUILD_REF}
|
|
|
|
when: always
|
|
|
|
paths:
|
|
|
|
- build/tests/integration/
|
|
|
|
tags:
|
|
|
|
- docker
|
2021-01-08 21:11:16 +01:00
|
|
|
needs:
|
|
|
|
- job: "build:source: [fedora]"
|
|
|
|
artifacts: true
|
2020-06-07 23:28:43 +02:00
|
|
|
|
2020-12-04 13:55:22 +01:00
|
|
|
# Stage: packaging
|
|
|
|
##############################################################################
|
2020-09-03 16:58:18 +02:00
|
|
|
|
2021-01-08 21:11:16 +01:00
|
|
|
pkg:rpm:
|
2020-12-04 13:55:22 +01:00
|
|
|
stage: packaging
|
2020-11-12 01:16:33 +01:00
|
|
|
image: ${DOCKER_IMAGE}/dev:${DOCKER_TAG}
|
2016-09-27 19:27:19 -04:00
|
|
|
script:
|
2020-06-07 01:38:05 +02:00
|
|
|
- mkdir -p build && cd build
|
2020-12-04 13:55:22 +01:00
|
|
|
- cmake -DWITH_NODE_ETHERCAT=OFF ..
|
|
|
|
- make ${MAKE_OPTS} doc
|
|
|
|
- make ${MAKE_OPTS} package
|
2017-03-29 08:13:44 +02:00
|
|
|
artifacts:
|
2020-12-04 13:55:22 +01:00
|
|
|
expire_in: 1 week
|
|
|
|
name: ${CI_PROJECT_NAME}-packages-${CI_BUILD_REF}
|
2017-03-29 08:13:44 +02:00
|
|
|
paths:
|
2020-12-04 13:55:22 +01:00
|
|
|
- build/*.tar.gz
|
|
|
|
- build/*.rpm
|
2021-01-08 21:11:16 +01:00
|
|
|
needs:
|
|
|
|
- job: "build:source: [fedora]"
|
|
|
|
artifacts: true
|
2016-10-14 01:08:57 -04:00
|
|
|
tags:
|
2020-06-07 01:38:05 +02:00
|
|
|
- docker
|
2016-10-14 01:08:57 -04:00
|
|
|
|
2021-01-08 21:11:16 +01:00
|
|
|
pkg:alpine:
|
2019-04-05 02:19:40 +02:00
|
|
|
stage: packaging
|
2020-06-07 01:38:05 +02:00
|
|
|
image: docker:19.03
|
2021-01-04 21:32:03 +01:00
|
|
|
before_script:
|
2020-12-04 13:55:22 +01:00
|
|
|
- mkdir -p ~/.docker/cli-plugins/
|
|
|
|
- wget -O ~/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/v0.4.2/buildx-v0.4.2.linux-amd64
|
|
|
|
- chmod a+x ~/.docker/cli-plugins/docker-buildx
|
2021-01-04 21:32:03 +01:00
|
|
|
- docker buildx create --use --name cross-platform-build
|
|
|
|
- docker buildx inspect --bootstrap cross-platform-build
|
2021-01-08 21:11:16 +01:00
|
|
|
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
|
2021-01-04 21:32:03 +01:00
|
|
|
script:
|
2021-01-05 17:40:16 +01:00
|
|
|
- docker buildx build ${DOCKER_OPTS}
|
2021-01-08 21:01:27 +01:00
|
|
|
--output type=docker
|
2020-11-12 01:19:37 +01:00
|
|
|
--target app
|
2021-01-08 11:01:46 +01:00
|
|
|
--build-arg ARCH=${ARCH}
|
|
|
|
--build-arg TRIPLET=${TRIPLET}
|
2020-12-04 13:55:22 +01:00
|
|
|
--platform ${PLATFORM}
|
2021-01-08 11:01:46 +01:00
|
|
|
--file ${DOCKER_FILE}
|
|
|
|
--tag ${DOCKER_IMAGE}:${DOCKER_TAG}-${ARCH} .
|
2021-01-08 21:01:27 +01:00
|
|
|
- docker push ${DOCKER_IMAGE}:${DOCKER_TAG}-${ARCH}
|
2021-01-08 11:01:46 +01:00
|
|
|
variables:
|
|
|
|
DISTRO: alpine
|
2019-04-05 02:19:40 +02:00
|
|
|
tags:
|
2020-06-07 01:38:05 +02:00
|
|
|
- docker
|
2021-01-08 11:01:46 +01:00
|
|
|
parallel:
|
|
|
|
matrix:
|
|
|
|
- PLATFORM: linux/amd64
|
|
|
|
ARCH: amd64
|
|
|
|
TRIPLET: x86_64-alpine-linux-musl
|
|
|
|
- PLATFORM: linux/arm64/v8
|
|
|
|
ARCH: arm64
|
|
|
|
TRIPLET: aarch64-alpine-linux-musl
|
|
|
|
- PLATFORM: linux/arm/v6
|
|
|
|
ARCH: armv6
|
|
|
|
TRIPLET: armv6-alpine-linux-musleabihf
|
|
|
|
- PLATFORM: linux/arm/v7
|
|
|
|
ARCH: armv7
|
|
|
|
TRIPLET: armv7-alpine-linux-musleabihf
|
2020-12-04 13:55:22 +01:00
|
|
|
needs: []
|
2019-04-05 02:19:40 +02:00
|
|
|
|
|
|
|
|
2017-11-20 14:30:17 +01:00
|
|
|
# Stage: deploy
|
2017-07-02 20:39:58 +02:00
|
|
|
##############################################################################
|
2017-03-31 21:20:36 +02:00
|
|
|
|
2017-07-02 20:39:58 +02:00
|
|
|
deploy:web:
|
2016-10-15 22:52:31 -04:00
|
|
|
stage: deploy
|
2019-11-12 19:03:04 +01:00
|
|
|
image:
|
|
|
|
name: rclone/rclone:1.50
|
|
|
|
entrypoint: [""]
|
|
|
|
before_script:
|
2020-06-07 01:38:05 +02:00
|
|
|
- rclone config create fein webdav url ${DEPLOY_PATH} vendor other user ${DEPLOY_USER} pass ${DEPLOY_PASS}
|
2016-10-15 22:52:31 -04:00
|
|
|
script:
|
2020-06-07 01:38:05 +02:00
|
|
|
- rclone copy build/doc/html fein:villas/doc-dev/${CI_BUILD_REF_NAME}
|
2020-11-12 01:19:37 +01:00
|
|
|
needs:
|
|
|
|
- job: build:docs
|
2017-05-10 13:30:54 +02:00
|
|
|
only:
|
2021-01-04 18:47:13 +01:00
|
|
|
- "/^v\\d+(\\.\\d+)+$/" # Only on version tags
|
2017-04-02 02:37:11 +02:00
|
|
|
tags:
|
2020-06-07 01:38:05 +02:00
|
|
|
- docker
|
2017-04-02 02:37:11 +02:00
|
|
|
|
2021-01-08 21:11:16 +01:00
|
|
|
deploy:docker:
|
|
|
|
stage: deploy
|
|
|
|
image: docker:19.03
|
|
|
|
variables:
|
|
|
|
DOCKER_CLI_EXPERIMENTAL: enabled
|
|
|
|
before_script:
|
|
|
|
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
|
|
|
|
script:
|
|
|
|
- docker push ${DOCKER_IMAGE}/dev:${DOCKER_TAG}
|
|
|
|
- docker manifest create ${DOCKER_IMAGE}:${DOCKER_TAG}
|
|
|
|
${DOCKER_IMAGE}:${DOCKER_TAG}-amd64
|
|
|
|
${DOCKER_IMAGE}:${DOCKER_TAG}-arm64
|
|
|
|
${DOCKER_IMAGE}:${DOCKER_TAG}-armv6
|
|
|
|
${DOCKER_IMAGE}:${DOCKER_TAG}-armv7
|
|
|
|
- docker manifest push ${DOCKER_IMAGE}:${DOCKER_TAG}
|
|
|
|
tags:
|
|
|
|
- docker
|
|
|
|
needs:
|
|
|
|
- job: "pkg:alpine: [linux/amd64, amd64, x86_64-alpine-linux-musl]"
|
|
|
|
- job: "pkg:alpine: [linux/arm64/v8, arm64, aarch64-alpine-linux-musl]"
|
|
|
|
- job: "pkg:alpine: [linux/arm/v6, armv6, armv6-alpine-linux-musleabihf]"
|
|
|
|
- job: "pkg:alpine: [linux/arm/v7, armv7, armv7-alpine-linux-musleabihf]"
|
|
|
|
- job: "prepare:docker: [fedora, --tag ${DOCKER_IMAGE}/dev:${CI_COMMIT_REF_NAME}]"
|
|
|
|
|
2019-06-26 20:38:38 +02:00
|
|
|
.deploy:packages: &deploy_packages
|
2017-04-02 02:37:11 +02:00
|
|
|
stage: deploy
|
2019-11-12 19:03:04 +01:00
|
|
|
image:
|
|
|
|
name: rclone/rclone:1.50
|
|
|
|
entrypoint: [""]
|
|
|
|
before_script:
|
2020-06-07 01:38:05 +02:00
|
|
|
- apk add curl
|
|
|
|
- rclone config create fein webdav url ${DEPLOY_PATH} vendor other user ${DEPLOY_USER} pass ${DEPLOY_PASS}
|
2017-04-02 02:37:11 +02:00
|
|
|
script:
|
2020-06-07 01:38:05 +02:00
|
|
|
- rclone copy --max-depth 1 --include '*.tar.gz' build fein:packages/dist
|
|
|
|
- rclone copy --max-depth 1 --include '*.rpm' build fein:packages/fedora/${RELEASEVER}/x86_64
|
|
|
|
- curl -L --user ${DEPLOY_USER}:${DEPLOY_PASS} ${DEPLOY_PATH}/hooks/createrepo
|
2021-01-08 21:11:16 +01:00
|
|
|
variables:
|
|
|
|
RELEASEVER: "33"
|
2020-11-12 01:19:37 +01:00
|
|
|
needs:
|
2021-01-08 21:11:16 +01:00
|
|
|
- job: pkg:rpm
|
2016-10-14 01:08:57 -04:00
|
|
|
tags:
|
2020-06-07 01:38:05 +02:00
|
|
|
- docker
|
2019-06-26 20:38:38 +02:00
|
|
|
|
2020-11-12 01:16:33 +01:00
|
|
|
deploy:packages:manual:
|
|
|
|
<<: *deploy_packages
|
|
|
|
when: manual
|
2021-01-04 21:18:41 +01:00
|
|
|
except:
|
|
|
|
- "/^v\\d+(\\.\\d+)+$/" # Only on version tags
|
2020-11-12 01:16:33 +01:00
|
|
|
|
|
|
|
deploy:packages:tags:
|
|
|
|
<<: *deploy_packages
|
|
|
|
only:
|
2021-01-04 18:47:13 +01:00
|
|
|
- "/^v\\d+(\\.\\d+)+$/" # Only on version tags
|
2020-11-12 01:16:33 +01:00
|
|
|
|
2021-01-08 21:11:16 +01:00
|
|
|
# Stage: latest
|
|
|
|
##############################################################################
|
2019-11-12 22:04:16 +01:00
|
|
|
|
2021-01-08 21:11:16 +01:00
|
|
|
.latest:docker:latest: &deploy_latest_docker
|
|
|
|
stage: latest
|
2020-12-04 13:55:22 +01:00
|
|
|
image: docker:19.03
|
|
|
|
before_script:
|
|
|
|
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
|
2019-11-12 22:04:16 +01:00
|
|
|
script:
|
2021-01-08 11:01:46 +01:00
|
|
|
- docker manifest create ${DOCKER_IMAGE}:latest
|
|
|
|
${DOCKER_IMAGE}:${DOCKER_TAG}-amd64
|
|
|
|
${DOCKER_IMAGE}:${DOCKER_TAG}-arm64
|
|
|
|
${DOCKER_IMAGE}:${DOCKER_TAG}-armv6
|
|
|
|
${DOCKER_IMAGE}:${DOCKER_TAG}-armv7
|
|
|
|
- docker manifest push ${DOCKER_IMAGE}:latest
|
2020-12-04 13:55:22 +01:00
|
|
|
- docker tag ${DOCKER_IMAGE}/dev:${DOCKER_TAG} ${DOCKER_IMAGE}/dev:latest
|
|
|
|
- docker push ${DOCKER_IMAGE}/dev:latest
|
2019-10-26 16:39:28 +02:00
|
|
|
tags:
|
2020-06-07 01:38:05 +02:00
|
|
|
- docker
|
2021-01-08 21:11:16 +01:00
|
|
|
needs:
|
|
|
|
- job: deploy:docker
|
2021-01-04 18:47:13 +01:00
|
|
|
|
2021-01-08 21:11:16 +01:00
|
|
|
latest:docker:
|
|
|
|
<<: *deploy_latest_docker
|
|
|
|
only:
|
2021-01-04 21:18:41 +01:00
|
|
|
- "/^v\\d+(\\.\\d+)+$/" # Only on version tags
|
2021-01-04 18:47:13 +01:00
|
|
|
|
2021-01-08 21:11:16 +01:00
|
|
|
latest:docker:manual:
|
|
|
|
<<: *deploy_latest_docker
|
|
|
|
when: manual
|
|
|
|
except:
|
2021-01-04 18:47:13 +01:00
|
|
|
- "/^v\\d+(\\.\\d+)+$/" # Only on version tags
|