diff --git a/.travis.yml b/.travis.yml index c6b2e61..488fb2e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,26 @@ sudo: required -language: c - +language: bash +env: + global: + - GOSS_VERSION=0.3.6 + - GOSS_PATH=/usr/local/bin/goss + - 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: k5V2o5xIGGQ2vlWaCfWHAn68z7k/FSL8bXgow6/x0svxmsvDxJzRrpnM3xn681ogUEoQP1hQeHWeR0tg88RcDFmjzEObMjVd7Av289YIQ/W6hmFFb+SCa+TmAe49ybPLZA2UNygC/zqH5N6U5iMYsyPrChw4oUv9X9lfDJUz08crRVwffm/JwcEfV1tH722I2WUcEpxKYyqymK9CaO3e2UTXnPaASNOPuZ2v0T3D1lvla+XRNG+JJ6+BJjBRkzMMg584IaBIqGVf9tlImZkGfYmVWUVvBfpuHMSU9OC4CJXBRqy6K/nUlw5bDDsGFbLGA9Tg1qgLzAZsPCSMSCC2Gq0rLxuihudWEJ9e8dnRLIbt+Zxlqa2s7DQ2FTWyofQfR4GL6cD4uSoSh+k9ij6PeJMSEzplaO01Fyh87uRbcVBxwktIXeVuJsBG8uQ2wdWjQ41g4noDHzsV1duJ1nz9b6JRH7Vbp8bKXow3K+EtlFfa9GcD4I64oksbWH+hx+PBBf0qEdUzZnHmw2vEqJyjdlCoQ1k7pX6c9rxzNiKIb8Hsmhu1r7DCNYBYZIZ1pGhVBilxrr9QiU0hGpRsON0QOzTobz6TohW9w+LNgBMPMizLRFi3r14Nqel8GIWcQUP/RBTiXb8Lr+D9oq0oY1Up4QyfEq1SfkJ1yD4qzCOhb5I= services: - docker - -script: -- make build-all - -#deploy: -# script: make publish -# on: -# branch: master +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/dgoss + -o /usr/local/bin/dgoss +- sudo chmod +rx /usr/local/bin/goss +- sudo chmod +rx /usr/local/bin/dgoss +- sudo apt update && sudo apt install -y expect +- "./test.exp" +install: make build-all +deploy: +- provider: script + script: make publish + on: + branch: master diff --git a/Makefile b/Makefile index 3f61ab2..111a1aa 100644 --- a/Makefile +++ b/Makefile @@ -2,14 +2,9 @@ docker_repo := zokradonh docker_login := `cat ~/.docker-account-user` docker_pwd := `cat ~/.docker-account-pwd` -base_version = $(shell docker run --rm $(docker_repo)/kopano_base cat /kopano/buildversion) base_download_version := $(shell ./version.sh core) -core_version = $(shell docker run --rm $(docker_repo)/kopano_core cat /kopano/buildversion | cut -d- -f2) -utils_version = $(shell docker run --rm $(docker_repo)/kopano_utils cat /kopano/buildversion | cut -d- -f2) core_download_version := $(shell ./version.sh core) -webapp_version = $(shell docker run --rm $(docker_repo)/kopano_webapp cat /kopano/buildversion | grep webapp | cut -d- -f2 | cut -d+ -f1) webapp_download_version := $(shell ./version.sh webapp) -zpush_version = $(shell docker run --rm $(docker_repo)/kopano_zpush cat /kopano/buildversion | tail -n 1 | grep -o -P '(?<=-).*(?=\+)') zpush_download_version := $(shell ./version.sh zpush) KOPANO_CORE_REPOSITORY_URL := file:/kopano/repo/core @@ -71,8 +66,8 @@ build-kweb: build-ldap-demo: docker build -t $(docker_repo)/kopano_ldap_demo ldap-demo/ -tag: component ?= base -tag: +tag-container: component ?= base +tag-container: @echo 'create tag $($(component)_version)' docker tag $(docker_repo)/kopano_$(component) $(docker_repo)/kopano_$(component):${$(component)_version} @echo 'create tag latest' @@ -81,23 +76,33 @@ tag: git tag $(component)/${$(component)_version} || true tag-base: - component=base make tag + $(eval base_version := \ + $(shell docker run --rm $(docker_repo)/kopano_base cat /kopano/buildversion)) + component=base make tag-container tag-core: - component=core make tag + $(eval core_version := \ + $(shell docker run --rm $(docker_repo)/kopano_core cat /kopano/buildversion | cut -d- -f2)) + component=core make tag-container tag-utils: - component=utils make tag + $(eval utils_version := \ + $(shell docker run --rm $(docker_repo)/kopano_utils cat /kopano/buildversion | cut -d- -f2)) + component=utils make tag-container tag-webapp: - component=webapp make tag + $(eval webapp_version := \ + $(shell docker run --rm $(docker_repo)/kopano_webapp cat /kopano/buildversion | grep webapp | cut -d- -f2 | cut -d+ -f1)) + component=webapp make tag-container tag-zpush: - component=zpush make tag + $(eval zpush_version := \ + $(shell docker run --rm $(docker_repo)/kopano_zpush cat /kopano/buildversion | tail -n 1 | grep -o -P '(?<=-).*(?=\+)')) + component=zpush make tag-container # Docker publish repo-login: - docker login -u $(docker_login) -p $(docker_pwd) + @docker login -u $(docker_login) -p $(docker_pwd) publish: repo-login publish-ssl publish-base publish-core publish-utils publish-webapp publish-zpush publish-ssl publish-kweb git push diff --git a/docker-compose.yml-example b/docker-compose.yml-example index 1578183..f1b3cf8 100644 --- a/docker-compose.yml-example +++ b/docker-compose.yml-example @@ -167,7 +167,7 @@ services: - KCCONF_LDAP_LDAP_SEARCH_BASE=${LDAP_SEARCH_BASE} - KCUNCOMMENT_LDAP_1=${KCUNCOMMENT_LDAP_1} - KCCOMMENT_LDAP_1=${KCCOMMENT_LDAP_1} - #- ADDITIONAL_KOPANO_PACKAGES=kopano-migration-imap + - ADDITIONAL_KOPANO_PACKAGES=${ADDITIONAL_KOPANO_PACKAGES} networks: - kopanonet volumes: diff --git a/setup.sh b/setup.sh index 67b56ac..fa44f7c 100755 --- a/setup.sh +++ b/setup.sh @@ -233,9 +233,7 @@ HTTPS=443 # Docker Repository to push to docker_repo=zokradonh -ADDITIONAL_KOPANO_WEBAPP_PLUGINS=$ADDITIONAL_KOPANO_WEBAPP_PLUGINS - -# modify below to build a different version, than the kopano nightly release +# Modify below to build a different version, than the kopano nightly release #KOPANO_CORE_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/core:/final/Debian_9.0/ #KOPANO_WEBAPP_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/webapp:/final/Debian_9.0/ #KOPANO_WEBAPP_FILES_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/files:/final/Debian_9.0/ @@ -245,6 +243,10 @@ ADDITIONAL_KOPANO_WEBAPP_PLUGINS=$ADDITIONAL_KOPANO_WEBAPP_PLUGINS #RELEASE_KEY_DOWNLOAD=1 #DOWNLOAD_COMMUNITY_PACKAGES=0 +# Additional packages to install +ADDITIONAL_KOPANO_PACKAGES= +ADDITIONAL_KOPANO_WEBAPP_PLUGINS=$ADDITIONAL_KOPANO_WEBAPP_PLUGINS + EOF else echo "config already exists, doing nothing" diff --git a/test.exp b/test.exp new file mode 100755 index 0000000..8f23736 --- /dev/null +++ b/test.exp @@ -0,0 +1,18 @@ +#!/usr/bin/expect + +# uncomment to debug expect: +#exp_internal 1 + +spawn "./setup.sh" + +expect { + "]:" { + send "\r" + exp_continue + } + "):" { + send "\r" + exp_continue + } + eof +}