mirror of
https://github.com/zokradonh/kopano-docker
synced 2025-06-07 07:56:12 +00:00
implement building and tagging through jenkins
* improve runtime by moving some variable assignments into the individual tag targets * add expect script to run setup.sh in travis * change language in travis * add secrets for kopano docker account
This commit is contained in:
parent
c5536c1059
commit
a0e045ff38
33
.travis.yml
33
.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
|
||||
|
31
Makefile
31
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
|
||||
|
@ -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:
|
||||
|
8
setup.sh
8
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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user