qt5base-lts/tests/testserver/docker-compose.yml
Ryan Chu 5c5af7155a Enable mDNS service discovery in Docker-based test servers
To resolve the challenge of connecting Docker containers from the host
without extra user-efforts, Avahi is used to publish the Docker-based
test servers (Docker containers) on a local network. It is a free
Zeroconf implementation, and it provides multicast DNS (mDNS) service
discovery. By default, mDNS only resolves hostname ending with the
".local" domain. In this change, the domain name of test servers is
changed to "test-net.qt.local". As stated in the standard, the DNS query
for a local domain will be sent to the mDNS multicast address. It avoids
the need for root access to modify system files.

Task-number: QTQAINFRA-1686
Change-Id: I255fba0720ee6d0e84c9cb5ca9289d4466578922
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Ryan Chu <ryan.chu@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-07-10 15:25:14 +00:00

84 lines
2.9 KiB
YAML

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 tag of test server images.
# For example:
# REPOSITORY TAG IMAGE ID
# qt-test-server-apache2 e2a70c8b169c204e762b375885bd3a26cc40ba48 2ad5c8720317
services:
apache2:
image: qt-test-server-apache2:cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947
container_name: qt-test-server-apache2
domainname: test-net.qt.local
hostname: apache2
volumes:
- ./common:/common:ro
- ./apache2:/service:ro
entrypoint: common/startup.sh
command: [common/ssl.sh, service/apache2.sh]
squid:
image: qt-test-server-squid:577d99307eea9a8cccfec944d25be2bce2fe99cc
container_name: qt-test-server-squid
domainname: test-net.qt.local
hostname: squid
depends_on:
- apache2
external_links:
- apache2:apache2.test-net.qt.local
volumes:
- ./common:/common:ro
- ./squid:/service:ro
entrypoint: common/startup.sh
command: service/squid.sh
vsftpd:
image: qt-test-server-vsftpd:18896604c7e90b543e56d80c8a8aabdb65a590d0
container_name: qt-test-server-vsftpd
domainname: test-net.qt.local
hostname: vsftpd
volumes:
- ./common:/common:ro
- ./vsftpd:/service:ro
entrypoint: common/startup.sh
command: service/vsftpd.sh
ftp-proxy:
image: qt-test-server-ftp-proxy:2c6c8f1ab6a364b540c43d705fb6f15a585cb2af
container_name: qt-test-server-ftp-proxy
domainname: test-net.qt.local
hostname: ftp-proxy
depends_on:
- vsftpd
external_links:
- vsftpd:vsftpd.test-net.qt.local
volumes:
- ./common:/common:ro
- ./ftp-proxy:/service:ro
entrypoint: common/startup.sh
command: service/ftp-proxy.sh
danted:
image: qt-test-server-danted:327dd56c3c35db85b26fac93213a5a1918475bc7
container_name: qt-test-server-danted
domainname: test-net.qt.local
hostname: danted
depends_on:
- apache2
- vsftpd
- ftp-proxy
external_links:
- apache2:apache2.test-net.qt.local
- vsftpd:vsftpd.test-net.qt.local
- ftp-proxy:ftp-proxy.test-net.qt.local
volumes:
- ./common:/common:ro
- ./danted:/service:ro
entrypoint: common/startup.sh
command: service/danted.sh