summaryrefslogtreecommitdiffstats
path: root/tests/testserver/docker-compose-for-windows.yml
diff options
context:
space:
mode:
authorRyan Chu <ryan.chu@qt.io>2018-11-27 22:04:02 +0100
committerRyan Chu <ryan.chu@qt.io>2019-01-23 15:28:45 +0000
commitbeab266977c858950bfaa5c2c0d624cb6730f1bc (patch)
tree2f04a4555a9a32b1877e5d44b058a6939d7ecd76 /tests/testserver/docker-compose-for-windows.yml
parent4552eddabffc43846c9dcbb10f201770fe5df019 (diff)
Docker-based test servers for network-related Qt autotests on Windows
There is no docker bridge on Windows. Docker document recommends using port mapping to connect to a container. The problem is that it causes a port conflict if the user is running a service that binds the same port on the host. This change applies the same solution of macOS to deploy the docker environment into VirtualBox and use the host network option. Task-number: QTQAINFRA-2294 Change-Id: Iedcb8daa39373f02adb59f02eae2775f02870c54 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'tests/testserver/docker-compose-for-windows.yml')
-rw-r--r--tests/testserver/docker-compose-for-windows.yml99
1 files changed, 99 insertions, 0 deletions
diff --git a/tests/testserver/docker-compose-for-windows.yml b/tests/testserver/docker-compose-for-windows.yml
new file mode 100644
index 0000000000..07da5bcc70
--- /dev/null
+++ b/tests/testserver/docker-compose-for-windows.yml
@@ -0,0 +1,99 @@
+version: '3.4'
+
+# The tag of images is used by docker compose file to launch the corresponding
+# docker containers. The value of tag comes from the provisioning script
+# (coin/provisioning/.../testserver/docker_testserver.sh). The script gets SHA-1
+# of each server context as the tag of docker images. If one of the server
+# contexts gets changes, please make sure to update this compose file as well.
+# You can run command 'docker images' to list all the tags of test server images.
+# For example:
+# REPOSITORY TAG
+# qt-test-server-apache2 537fe302f61851d1663f41495230d8e3554a4a13
+
+services:
+ apache2:
+ image: qt-test-server-apache2:537fe302f61851d1663f41495230d8e3554a4a13
+ container_name: qt-test-server-apache2
+ domainname: ${TEST_DOMAIN}
+ volumes:
+ - ./common:/common:ro
+ - ./apache2:/service:ro
+ entrypoint: common/startup.sh
+ command: [common/ssl.sh, service/apache2.sh]
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+
+ squid:
+ image: qt-test-server-squid:9c32f41b19aca3d778733c4d8fb0ecc5955e893c
+ container_name: qt-test-server-squid
+ domainname: ${TEST_DOMAIN}
+ depends_on:
+ - apache2
+ volumes:
+ - ./common:/common:ro
+ - ./squid:/service:ro
+ entrypoint: common/startup.sh
+ command: service/squid.sh
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+
+ vsftpd:
+ image: qt-test-server-vsftpd:f3a9c8d793a77cc007c0e4e481bec01f9e3eeb7e
+ container_name: qt-test-server-vsftpd
+ domainname: ${TEST_DOMAIN}
+ volumes:
+ - ./common:/common:ro
+ - ./vsftpd:/service:ro
+ entrypoint: common/startup.sh
+ command: service/vsftpd.sh
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+
+ ftp-proxy:
+ image: qt-test-server-ftp-proxy:d7de8b28392d173db512a558ccc84ead8bece2ae
+ container_name: qt-test-server-ftp-proxy
+ domainname: ${TEST_DOMAIN}
+ depends_on:
+ - vsftpd
+ volumes:
+ - ./common:/common:ro
+ - ./ftp-proxy:/service:ro
+ entrypoint: common/startup.sh
+ command: service/ftp-proxy.sh
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+
+ danted:
+ image: qt-test-server-danted:35607f9b790524cf9690c7d12a9a401696b7b6b5
+ container_name: qt-test-server-danted
+ domainname: ${TEST_DOMAIN}
+ depends_on:
+ - apache2
+ - vsftpd
+ - ftp-proxy
+ volumes:
+ - ./common:/common:ro
+ - ./danted:/service:ro
+ entrypoint: common/startup.sh
+ command: service/danted.sh
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - danted_internal=${MACHINE_IP:-eth0}
+ - danted_external=${MACHINE_IP:-eth0}
+ - danted_auth_internal=${MACHINE_IP:-eth0}
+ - danted_auth_external=${MACHINE_IP:-eth0}
+ - test_domain=${TEST_DOMAIN}