aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/shared
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@qt.io>2019-02-15 12:19:28 +0100
committerLiang Qi <liang.qi@qt.io>2019-03-15 12:14:20 +0000
commit3d087c5a6a815041e0e8dec206f2b0b3e51f1a03 (patch)
treee94b1b75a459017fa1f46b06d701e8b875a79c11 /coin/provisioning/common/shared
parentca9f9b9cc452d5b307f295e3248e65ea1bc5d8c1 (diff)
Split docker provisioning files
Split the creation of the test images and the creation of the docker environment. This way, one can easily recreate the test images, without requiring to re-provision everything. Change-Id: I35bbe8d8bf497f16d9be92cbaa2d9001f8eee247 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Ryan Chu <ryan.chu@qt.io>
Diffstat (limited to 'coin/provisioning/common/shared')
-rwxr-xr-xcoin/provisioning/common/shared/testserver/docker_images.sh68
-rwxr-xr-xcoin/provisioning/common/shared/testserver/docker_testserver.sh27
2 files changed, 70 insertions, 25 deletions
diff --git a/coin/provisioning/common/shared/testserver/docker_images.sh b/coin/provisioning/common/shared/testserver/docker_images.sh
new file mode 100755
index 00000000..e98183d8
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/docker_images.sh
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+[ -x "$(command -v realpath)" ] && FILE=$(realpath ${BASH_SOURCE[0]}) || FILE=${BASH_SOURCE[0]}
+case $FILE in
+ */*) SERVER_PATH="${FILE%/*}" ;;
+ *) SERVER_PATH="." ;;
+esac
+
+# Sort files by their SHA-1, and then return the accumulated result
+sha1tree () {
+ # For example, macOS doesn't install sha1sum by default. In such case, it uses shasum instead.
+ [ -x "$(command -v sha1sum)" ] || SHASUM=shasum
+
+ find "$@" -type f -print0 | \
+ xargs -0 ${SHASUM-sha1sum} | cut -d ' ' -f 1 | \
+ sort | ${SHASUM-sha1sum} | cut -d ' ' -f 1
+}
+
+# Using SHA-1 of each server context as the tag of docker images. A tag labels a
+# specific image version. It is used by docker compose file (docker-compose.yml)
+# to launch the corresponding docker containers. If one of the server contexts
+# (./apache2, ./danted, ...) gets changes, all the related compose files in
+# qtbase should be updated as well.
+
+source "$SERVER_PATH/settings.sh"
+
+for server in $testserver
+do
+ context="$SERVER_PATH/$server"
+ docker build -t qt-test-server-$server:$(sha1tree $context) $context
+done
+
+docker images
diff --git a/coin/provisioning/common/shared/testserver/docker_testserver.sh b/coin/provisioning/common/shared/testserver/docker_testserver.sh
index 83baa488..3a7c87e8 100755
--- a/coin/provisioning/common/shared/testserver/docker_testserver.sh
+++ b/coin/provisioning/common/shared/testserver/docker_testserver.sh
@@ -53,28 +53,5 @@ esac
# Display system-wide information of docker-engine
docker info
-# Sort files by their SHA-1, and then return the accumulated result
-sha1tree () {
- # For example, macOS doesn't install sha1sum by default. In such case, it uses shasum instead.
- [ -x "$(command -v sha1sum)" ] || SHASUM=shasum
-
- find "$@" -type f -print0 | \
- xargs -0 ${SHASUM-sha1sum} | cut -d ' ' -f 1 | \
- sort | ${SHASUM-sha1sum} | cut -d ' ' -f 1
-}
-
-# Using SHA-1 of each server context as the tag of docker images. A tag labels a
-# specific image version. It is used by docker compose file (docker-compose.yml)
-# to launch the corresponding docker containers. If one of the server contexts
-# (./apache2, ./danted, ...) gets changes, all the related compose files in
-# qtbase should be updated as well.
-
-source "$SERVER_PATH/settings.sh"
-
-for server in $testserver
-do
- context="$SERVER_PATH/$server"
- docker build -t qt-test-server-$server:$(sha1tree $context) $context
-done
-
-docker images
+# Create images
+$SERVER_PATH/docker_images.sh