diff --git a/.travis/deploy.sh b/.travis/deploy.sh index fe15db4..352c6d9 100644 --- a/.travis/deploy.sh +++ b/.travis/deploy.sh @@ -1,12 +1,18 @@ #! /bin/bash -deploy() { - REG_URL=${REGISTRY}_URL - REG_USER=${REGISTRY}_USER - REG_PASS=${REGISTRY}_PASS - docker login -u ${!REG_USER} -p ${!REG_PASS} ${!REG_URL} - docker push ${!REG_URL}/maxking/mailman-web - docker push ${!REG_URL}/maxking/mailman-core +USER=maxking + + +deploy(URL, TAG, PASSWORD) { + # Tag the containers correctly. + docker tag maxking/mailman-core "$URL/maxking/mailman-core:$TAG" + docker tag maxking/mailman-web "$URL/maxking/mailman-web:$TAG" + docker tag maxking/postorius "$URL/maxking/postorius:$TAG" + # Login to the registry and push. + docker login -u $USER -p ${!PASSWORD} $URL + docker push "$URL/maxking/mailman-web:$TAG" + docker push "$URL/maxking/mailman-core:$TAG" + docker push "$URL/maxking/postorius:$TAG" } if [ ! "$BRANCH" = "master" ] && [ "$PULL_REQUEST" ]; then @@ -14,4 +20,5 @@ if [ ! "$BRANCH" = "master" ] && [ "$PULL_REQUEST" ]; then exit 0 fi -deploy +deploy "quay.io" "rolling" $DOCKER_PASSWORD +deploy "docker.io" "rolling" $QUAY_PASSWORD diff --git a/build.sh b/build.sh index c3787ac..9b8634b 100755 --- a/build.sh +++ b/build.sh @@ -6,47 +6,58 @@ DOCKER=docker # Set the env variable to later test this release before it is deployed. if [ "$1" = "dev" ]; then - export DEV=true + export DEV=true fi REG_URL=${REGISTRY}_URL -if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ] ; then - python3 -m venv venv - source venv/bin/activate - pip install python-gitlab - # Get the latest commit for repositories and set their reference values to be - # used in the development builds. - CORE_REF=$(python get_latest_ref.py mailman/mailman) - CLIENT_REF=$(python get_latest_ref.py mailman/mailmanclient) - POSTORIUS_REF=$(python get_latest_ref.py mailman/postorius) - HYPERKITTY_REF=$(python get_latest_ref.py mailman/hyperkitty) - DJ_MM3_REF=$(python get_latest_ref.py mailman/django-mailman3) - MM3_HK_REF=$(python get_latest_ref.py mailman/mailman-hyperkitty) +if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ]; then + python3 -m venv venv + source venv/bin/activate + pip install python-gitlab + # Get the latest commit for repositories and set their reference values to be + # used in the development builds. + CORE_REF=$(python get_latest_ref.py mailman/mailman) + CLIENT_REF=$(python get_latest_ref.py mailman/mailmanclient) + POSTORIUS_REF=$(python get_latest_ref.py mailman/postorius) + HYPERKITTY_REF=$(python get_latest_ref.py mailman/hyperkitty) + DJ_MM3_REF=$(python get_latest_ref.py mailman/django-mailman3) + MM3_HK_REF=$(python get_latest_ref.py mailman/mailman-hyperkitty) - # Build the mailman-core image. - $DOCKER build -f core/Dockerfile.dev \ - --build-arg CORE_REF=$CORE_REF \ - --build-arg MM3_HK_REF=$MM3_HK_REF \ - --label version.core="$CORE_REF" \ - --label version.mm3-hk="$MM3_HK_REF" \ - --label version.git_commit="$COMMIT_ID" \ - -t ${!REG_URL}/maxking/mailman-core:rolling core/ + # Build the mailman-core image. + $DOCKER build -f core/Dockerfile.dev \ + --build-arg CORE_REF=$CORE_REF \ + --build-arg MM3_HK_REF=$MM3_HK_REF \ + --label version.core="$CORE_REF" \ + --label version.mm3-hk="$MM3_HK_REF" \ + --label version.git_commit="$COMMIT_ID" \ + -t ${!REG_URL}/maxking/mailman-core:rolling core/ - # Build the mailman-web image. - $DOCKER build -f web/Dockerfile.dev \ - --label version.git_commit="$COMMIT_ID" \ - --label version.postorius="$POSTORIUS_REF" \ - --label version.hyperkitty="$HYPERKITTY_REF" \ - --label version.client="$CLIENT_REF" \ - --label version.dj-mm3="$DJ_MM3_REF" \ - --build-arg POSTORIUS_REF=$POSTORIUS_REF \ - --build-arg CLIENT_REF=$CLIENT_REF \ - --build-arg HYPERKITTY_REF=$HYPERKITTY_REF \ - --build-arg DJ_MM3_REF=$DJ_MM3_REF \ - -t ${!REG_URL}/maxking/mailman-web:rolling web/ + # Build the mailman-web image. + $DOCKER build -f web/Dockerfile.dev \ + --label version.git_commit="$COMMIT_ID" \ + --label version.postorius="$POSTORIUS_REF" \ + --label version.hyperkitty="$HYPERKITTY_REF" \ + --label version.client="$CLIENT_REF" \ + --label version.dj-mm3="$DJ_MM3_REF" \ + --build-arg POSTORIUS_REF=$POSTORIUS_REF \ + --build-arg CLIENT_REF=$CLIENT_REF \ + --build-arg HYPERKITTY_REF=$HYPERKITTY_REF \ + --build-arg DJ_MM3_REF=$DJ_MM3_REF \ + -t ${!REG_URL}/maxking/mailman-web:rolling web/ + + $DOCKER build -f postorius/Dockerfile.dev\ + --label version.git_commit="$COMMIT_ID"\ + --label version.postorius="$POSTORIUS_REF" \ + --label version.client="$CLIENT_REF" \ + --label version.dj-mm3="$DJ_MM3_REF" \ + --build-arg POSTORIUS_REF=$POSTORIUS_REF \ + --build-arg CLIENT_REF=$CLIENT_REF \ + --build-arg DJ_MM3_REF=$DJ_MM3_REF \ + -t ${!REG_URL}/maxking/postorius:rolling postorius/ else - # Do the normal building process. - $DOCKER build -t ${!REG_URL}/maxking/mailman-core:$TAG core/ - $DOCKER build -t ${!REG_URL}/maxking/mailman-web:$TAG web/ + # Do the normal building process. + $DOCKER build -t ${!REG_URL}/maxking/mailman-core:$TAG core/ + $DOCKER build -t ${!REG_URL}/maxking/mailman-web:$TAG web/ + $DOCKER build -t ${!REG_URL}/maxking/postorius:$TAG postorius/ fi