mirror of
				https://github.com/zokradonh/kopano-docker
				synced 2025-11-03 20:07:27 +00:00 
			
		
		
		
	Check with travis if containers start (#113)
* move .env creation into install rerun check-scripts after creation as well * update docker-compose * add simple test if containers start up * redirect output of compose stop
This commit is contained in:
		
							parent
							
								
									29839286ad
								
							
						
					
					
						commit
						6aff14c021
					
				
							
								
								
									
										36
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								.travis.yml
									
									
									
									
									
								
							@ -4,25 +4,35 @@ env:
 | 
				
			|||||||
  global:
 | 
					  global:
 | 
				
			||||||
  - GOSS_VERSION=0.3.6
 | 
					  - GOSS_VERSION=0.3.6
 | 
				
			||||||
  - GOSS_PATH=/usr/local/bin/goss
 | 
					  - GOSS_PATH=/usr/local/bin/goss
 | 
				
			||||||
 | 
					  - HADOLINT_VERSION=1.16.0
 | 
				
			||||||
 | 
					  - DOCKER_COMPOSE_VERSION=1.23.2
 | 
				
			||||||
  - secure: iSwQW1ytg9/ntqlF1nMzYcg0ouT3TifuAzauu//vWMiRfRthAi0bLuz3nBvlkQwtUk/iF3+smdOtwvjlmW7wWdwdf9tzpsyVKVYcS/+1MbxnGXE4OyNLkUJ7KASRk4otfsujMDNO95q/m04sOLJ721dsOWR6dv+5MNJ3LrushsbFfuStHmM1cNyUR6NuPy4g/x4oppv23rbSXU/qS7ULUsOTEUuTsmgvvKQRZiiOFaOgzeHCIEdrX6Dpsx6DPtYQ5az88q6CrkkTaw7GhP1qBXAGNX03NeHPd7YZvsgePoZJEJ/jTRsZVx9LxwkmnVTJDqthgqTGXTBJIvow3oICjKLf/DhURvkHaAJPu+Nxyvxo2xgYaa0Zbau5fmhEblyKU8Q9g+ZXsdjC5uy/vqJjg1rZD9BZjbKXRP9nb5VpxLdzcWE80XpEj7tHMfF4bN7LvIHZ81wINtZdZeFLVW53YzIO0NAoRCDk1SmR6N11T1uE8FrBzO80oETUMud2zYTx9U+J0m/qsNK+fOz2GtxwI3mlU0/bgVlcFE6865lOPuRwcTOhDwGqeWsLbBYsYXaJhqktn6XKiZ/BEeJLx6Z/CvyNXbzexn1i4wyVZAK7xxkhjxFPnWFU9WPan4ibkGLsS9sFsUTLVa4oBszkTO6q5NU7vIycdgJpfZlkdL2V0EA=
 | 
					  - secure: iSwQW1ytg9/ntqlF1nMzYcg0ouT3TifuAzauu//vWMiRfRthAi0bLuz3nBvlkQwtUk/iF3+smdOtwvjlmW7wWdwdf9tzpsyVKVYcS/+1MbxnGXE4OyNLkUJ7KASRk4otfsujMDNO95q/m04sOLJ721dsOWR6dv+5MNJ3LrushsbFfuStHmM1cNyUR6NuPy4g/x4oppv23rbSXU/qS7ULUsOTEUuTsmgvvKQRZiiOFaOgzeHCIEdrX6Dpsx6DPtYQ5az88q6CrkkTaw7GhP1qBXAGNX03NeHPd7YZvsgePoZJEJ/jTRsZVx9LxwkmnVTJDqthgqTGXTBJIvow3oICjKLf/DhURvkHaAJPu+Nxyvxo2xgYaa0Zbau5fmhEblyKU8Q9g+ZXsdjC5uy/vqJjg1rZD9BZjbKXRP9nb5VpxLdzcWE80XpEj7tHMfF4bN7LvIHZ81wINtZdZeFLVW53YzIO0NAoRCDk1SmR6N11T1uE8FrBzO80oETUMud2zYTx9U+J0m/qsNK+fOz2GtxwI3mlU0/bgVlcFE6865lOPuRwcTOhDwGqeWsLbBYsYXaJhqktn6XKiZ/BEeJLx6Z/CvyNXbzexn1i4wyVZAK7xxkhjxFPnWFU9WPan4ibkGLsS9sFsUTLVa4oBszkTO6q5NU7vIycdgJpfZlkdL2V0EA=
 | 
				
			||||||
  - secure: kj/KcPck6RHSQdcN29+OoxSufHX8KgMXs/ekVUsgcXfWb8iwo0UbfGwyPf+oy1vvjO65e0xsdGHN6Vk++opJT1qaAMpIInfh3+otXmDrT4Uq0s+vBkyQ/EPNeTy6oWK28y5+IVrR3Nd4FMK8CQ4FKzqKAAOQDkusI1182tRL9wDPnCbUD92cNcTPh7aHccSflkBOzw0G6d0v3RFIseOdYMA4DN72YfUV6RHVgOz7PSPmZ9p9lza1Fdbd1fBYoqBapzm3tIWiaU20OkyYNorZzsT+afTTpfHIb5ku+emNCiKDORuX4XQHDiS+PtqDNJRL2WsOsudVf9ckd9wpTkDj5rFnVex7GtS4z47kLDahzNWMQs4gnpDVUi3jbGeU/62EXdiAmuWs0A2kUSPYZwAKVbfIDlp3tAy0dzGivnBfTdN/TYVRm0IDRJZZNp964Tu3rGLazbRCYpGTIYz4KlMRrIN4QJj8JMmvcaOidp/xQJL+MkZTNY653VFHYeu61XEUV3RkGkkhZL967w+VuhkULDppslKExsJzXXX6ITauLu6hqAj+fWrn0WDxn/Km+sx9aJaBNqg4egT8mX5+WeDdoV+3NyODjbYUaEPKSuUkW/Skm+VGlYeyc9apahTSDe1H/W2KUcramkMT17IdPqXTqvlo+HSR97IGoE37OWKdoVM=
 | 
					  - secure: kj/KcPck6RHSQdcN29+OoxSufHX8KgMXs/ekVUsgcXfWb8iwo0UbfGwyPf+oy1vvjO65e0xsdGHN6Vk++opJT1qaAMpIInfh3+otXmDrT4Uq0s+vBkyQ/EPNeTy6oWK28y5+IVrR3Nd4FMK8CQ4FKzqKAAOQDkusI1182tRL9wDPnCbUD92cNcTPh7aHccSflkBOzw0G6d0v3RFIseOdYMA4DN72YfUV6RHVgOz7PSPmZ9p9lza1Fdbd1fBYoqBapzm3tIWiaU20OkyYNorZzsT+afTTpfHIb5ku+emNCiKDORuX4XQHDiS+PtqDNJRL2WsOsudVf9ckd9wpTkDj5rFnVex7GtS4z47kLDahzNWMQs4gnpDVUi3jbGeU/62EXdiAmuWs0A2kUSPYZwAKVbfIDlp3tAy0dzGivnBfTdN/TYVRm0IDRJZZNp964Tu3rGLazbRCYpGTIYz4KlMRrIN4QJj8JMmvcaOidp/xQJL+MkZTNY653VFHYeu61XEUV3RkGkkhZL967w+VuhkULDppslKExsJzXXX6ITauLu6hqAj+fWrn0WDxn/Km+sx9aJaBNqg4egT8mX5+WeDdoV+3NyODjbYUaEPKSuUkW/Skm+VGlYeyc9apahTSDe1H/W2KUcramkMT17IdPqXTqvlo+HSR97IGoE37OWKdoVM=
 | 
				
			||||||
  - secure: k5V2o5xIGGQ2vlWaCfWHAn68z7k/FSL8bXgow6/x0svxmsvDxJzRrpnM3xn681ogUEoQP1hQeHWeR0tg88RcDFmjzEObMjVd7Av289YIQ/W6hmFFb+SCa+TmAe49ybPLZA2UNygC/zqH5N6U5iMYsyPrChw4oUv9X9lfDJUz08crRVwffm/JwcEfV1tH722I2WUcEpxKYyqymK9CaO3e2UTXnPaASNOPuZ2v0T3D1lvla+XRNG+JJ6+BJjBRkzMMg584IaBIqGVf9tlImZkGfYmVWUVvBfpuHMSU9OC4CJXBRqy6K/nUlw5bDDsGFbLGA9Tg1qgLzAZsPCSMSCC2Gq0rLxuihudWEJ9e8dnRLIbt+Zxlqa2s7DQ2FTWyofQfR4GL6cD4uSoSh+k9ij6PeJMSEzplaO01Fyh87uRbcVBxwktIXeVuJsBG8uQ2wdWjQ41g4noDHzsV1duJ1nz9b6JRH7Vbp8bKXow3K+EtlFfa9GcD4I64oksbWH+hx+PBBf0qEdUzZnHmw2vEqJyjdlCoQ1k7pX6c9rxzNiKIb8Hsmhu1r7DCNYBYZIZ1pGhVBilxrr9QiU0hGpRsON0QOzTobz6TohW9w+LNgBMPMizLRFi3r14Nqel8GIWcQUP/RBTiXb8Lr+D9oq0oY1Up4QyfEq1SfkJ1yD4qzCOhb5I=
 | 
					  - secure: k5V2o5xIGGQ2vlWaCfWHAn68z7k/FSL8bXgow6/x0svxmsvDxJzRrpnM3xn681ogUEoQP1hQeHWeR0tg88RcDFmjzEObMjVd7Av289YIQ/W6hmFFb+SCa+TmAe49ybPLZA2UNygC/zqH5N6U5iMYsyPrChw4oUv9X9lfDJUz08crRVwffm/JwcEfV1tH722I2WUcEpxKYyqymK9CaO3e2UTXnPaASNOPuZ2v0T3D1lvla+XRNG+JJ6+BJjBRkzMMg584IaBIqGVf9tlImZkGfYmVWUVvBfpuHMSU9OC4CJXBRqy6K/nUlw5bDDsGFbLGA9Tg1qgLzAZsPCSMSCC2Gq0rLxuihudWEJ9e8dnRLIbt+Zxlqa2s7DQ2FTWyofQfR4GL6cD4uSoSh+k9ij6PeJMSEzplaO01Fyh87uRbcVBxwktIXeVuJsBG8uQ2wdWjQ41g4noDHzsV1duJ1nz9b6JRH7Vbp8bKXow3K+EtlFfa9GcD4I64oksbWH+hx+PBBf0qEdUzZnHmw2vEqJyjdlCoQ1k7pX6c9rxzNiKIb8Hsmhu1r7DCNYBYZIZ1pGhVBilxrr9QiU0hGpRsON0QOzTobz6TohW9w+LNgBMPMizLRFi3r14Nqel8GIWcQUP/RBTiXb8Lr+D9oq0oY1Up4QyfEq1SfkJ1yD4qzCOhb5I=
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
- docker
 | 
					  - docker
 | 
				
			||||||
before_install:
 | 
					before_install:
 | 
				
			||||||
- sudo curl -L https://github.com/aelsabbahy/goss/releases/download/v$GOSS_VERSION/goss-linux-amd64 -o /usr/local/bin/goss
 | 
					  - sudo curl -L https://github.com/aelsabbahy/goss/releases/download/v$GOSS_VERSION/goss-linux-amd64 -o /usr/local/bin/goss
 | 
				
			||||||
- sudo curl -L https://github.com/aelsabbahy/goss/releases/download/v$GOSS_VERSION/dgoss -o /usr/local/bin/dgoss
 | 
					  - sudo curl -L https://github.com/aelsabbahy/goss/releases/download/v$GOSS_VERSION/dgoss -o /usr/local/bin/dgoss
 | 
				
			||||||
- sudo curl -L https://github.com/hadolint/hadolint/releases/download/v1.16.0/hadolint-$(uname -s)-$(uname -m) -o /usr/local/bin/hadolint
 | 
					  - sudo curl -L https://github.com/hadolint/hadolint/releases/download/v$HADOLINT_VERSION/hadolint-$(uname -s)-$(uname -m) -o /usr/local/bin/hadolint
 | 
				
			||||||
- sudo chmod +rx /usr/local/bin/goss
 | 
					  - sudo rm /usr/local/bin/docker-compose
 | 
				
			||||||
- sudo chmod +rx /usr/local/bin/dgoss
 | 
					  - sudo curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
 | 
				
			||||||
- sudo chmod +rx /usr/local/bin/hadolint
 | 
					  - sudo chmod +rx /usr/local/bin/goss
 | 
				
			||||||
- sudo apt update && sudo apt install -y expect
 | 
					  - sudo chmod +rx /usr/local/bin/dgoss
 | 
				
			||||||
- "./test.exp"
 | 
					  - sudo chmod +rx /usr/local/bin/hadolint
 | 
				
			||||||
 | 
					  - sudo chmod +rx /usr/local/bin/docker-compose
 | 
				
			||||||
 | 
					  - sudo apt update && sudo apt install -y expect
 | 
				
			||||||
install:
 | 
					install:
 | 
				
			||||||
  - make check-scripts
 | 
					  - make check-scripts
 | 
				
			||||||
 | 
					  - "./test.exp"
 | 
				
			||||||
 | 
					  - make check-scripts # rerun check-scripts to see if output is different with .env in place
 | 
				
			||||||
  - make build-all
 | 
					  - make build-all
 | 
				
			||||||
 | 
					script:
 | 
				
			||||||
 | 
					  - make test-ci
 | 
				
			||||||
 | 
					after_failure:
 | 
				
			||||||
 | 
					  - timeout 3s docker-compose logs
 | 
				
			||||||
deploy:
 | 
					deploy:
 | 
				
			||||||
- provider: script
 | 
					  - provider: script
 | 
				
			||||||
  script: make publish
 | 
					    script: make publish
 | 
				
			||||||
  on:
 | 
					    on:
 | 
				
			||||||
    branch: master
 | 
					      branch: master
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										8
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Makefile
									
									
									
									
									
								
							@ -215,6 +215,14 @@ test:
 | 
				
			|||||||
test-update-env:
 | 
					test-update-env:
 | 
				
			||||||
	docker-compose -f $(COMPOSE_FILE) up -d
 | 
						docker-compose -f $(COMPOSE_FILE) up -d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test-ci:
 | 
				
			||||||
 | 
						docker-compose -f $(COMPOSE_FILE) -f tests/test-container.yml build
 | 
				
			||||||
 | 
						docker-compose -f $(COMPOSE_FILE) -f tests/test-container.yml up -d
 | 
				
			||||||
 | 
						docker-compose -f $(COMPOSE_FILE) -f tests/test-container.yml ps
 | 
				
			||||||
 | 
						docker wait kopano_test_1
 | 
				
			||||||
 | 
						docker logs --tail 10 kopano_test_1
 | 
				
			||||||
 | 
						docker-compose -f $(COMPOSE_FILE) -f tests/test-container.yml stop 2>/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test-quick:
 | 
					test-quick:
 | 
				
			||||||
	docker-compose -f $(COMPOSE_FILE) stop || true
 | 
						docker-compose -f $(COMPOSE_FILE) stop || true
 | 
				
			||||||
	docker-compose -f $(COMPOSE_FILE) up -d
 | 
						docker-compose -f $(COMPOSE_FILE) up -d
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								tests/startup-test/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								tests/startup-test/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					FROM alpine:3.8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV DOCKERIZE_VERSION v0.6.1
 | 
				
			||||||
 | 
					RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
 | 
				
			||||||
 | 
					    && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
 | 
				
			||||||
 | 
					    && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY test.sh /start.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD ["/start.sh"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										18
									
								
								tests/startup-test/test.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								tests/startup-test/test.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					# waits for key events in various containers
 | 
				
			||||||
 | 
					# e.g. kopano_server:236 signals succesful start of kopano-server process
 | 
				
			||||||
 | 
					exec dockerize \
 | 
				
			||||||
 | 
						-wait file://var/run/kopano/grapi/notify.sock \
 | 
				
			||||||
 | 
						-wait file://var/run/kopano/server.sock \
 | 
				
			||||||
 | 
						-wait http://kopano_konnect:8777/.well-known/openid-configuration \
 | 
				
			||||||
 | 
						-wait tcp://"${KCCONF_SERVER_MYSQL_HOST}":3306 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_dagent:2003 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_gateway:143 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_ical:8080 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_konnect:8778 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_server:236 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_server:237 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_web:2015 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_webapp:80 \
 | 
				
			||||||
 | 
						-wait tcp://kopano_zpush:80 \
 | 
				
			||||||
 | 
						-timeout 120s
 | 
				
			||||||
							
								
								
									
										16
									
								
								tests/test-container.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								tests/test-container.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					version: "3.5"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  test:
 | 
				
			||||||
 | 
					    build:
 | 
				
			||||||
 | 
					      context: tests/startup-test
 | 
				
			||||||
 | 
					    networks:
 | 
				
			||||||
 | 
					      - kopano-net
 | 
				
			||||||
 | 
					      - ldap-net
 | 
				
			||||||
 | 
					      - web-net
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - kopanodata/:/kopano/data
 | 
				
			||||||
 | 
					      - kopanossl/:/kopano/ssl
 | 
				
			||||||
 | 
					      - kopanosocket/:/run/kopano
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - KCCONF_SERVER_MYSQL_HOST=${MYSQL_HOST}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user