|
1 |
| -: ${DOCKERHUB_USERNAME:?"is required!"} |
2 |
| -: ${DOCKERHUB_PASSWORD:?"is required!"} |
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +set -eo pipefail |
| 4 | +if [[ "$TRACE" ]]; then |
| 5 | + : ${START_TIME:=$(date +%s)} |
| 6 | + export START_TIME |
| 7 | + export PS4='+ [TRACE $BASH_SOURCE:$LINENO][ellapsed: $(( $(date +%s) - $START_TIME ))] ' |
| 8 | + set -x |
| 9 | +fi |
| 10 | + |
| 11 | +debug() { |
| 12 | + [[ "$DEBUG" ]] && echo "-----> $*" 1>&2 || : |
| 13 | +} |
| 14 | + |
3 | 15 |
|
4 | 16 | install_deps() {
|
5 | 17 | if ! dockerhub-tag --version &>/dev/null ;then
|
6 |
| - echo "---> installing dockerhub-tag binary to /usr/local/bin" 1>&2 |
7 |
| - curl -L https://github.com/progrium/dockerhub-tag/releases/download/v0.2.0/dockerhub-tag_0.2.0_Darwin_x86_64.tgz | tar -xz -C /usr/local/bin/ |
| 18 | + debug "installing dockerhub-tag binary to /usr/local/bin" |
| 19 | + curl -L https://github.com/progrium/dockerhub-tag/releases/download/v0.2.0/dockerhub-tag_0.2.0_$(uname)_x86_64.tgz | tar -xz -C /usr/local/bin/ |
8 | 20 | else
|
9 |
| - echo "---> dockerhub-tag already installed" 1>&2 |
10 |
| - fi |
| 21 | + debug "dockerhub-tag already installed" |
| 22 | +fi |
| 23 | +} |
| 24 | + |
| 25 | +get_latest_maven_version() { |
| 26 | + curl -sL ${MAVEN_METADATA_URL} | sed -n '/<version>/ h; $ {x;s/ *<.\?version>//gp;}' |
11 | 27 | }
|
12 | 28 |
|
13 | 29 | new_version() {
|
14 | 30 | install_deps
|
15 |
| - declare NEW_VERSION=${1:? version required} |
| 31 | + declare NEW_VERSION=${1:-$(get_latest_maven_version)} |
| 32 | + |
| 33 | + debug "building docker image for version: $NEW_VERSION" |
16 | 34 |
|
17 | 35 | sed -i "/^ENV VERSION/ s/VERSION .*/VERSION ${NEW_VERSION}/" Dockerfile
|
18 | 36 |
|
19 | 37 | git commit -m "Release ${NEW_VERSION}" Dockerfile
|
20 | 38 | git tag ${NEW_VERSION}
|
21 | 39 | git push origin master --tags
|
22 |
| - |
23 |
| - dockerhub-tag set sequenceiq/cb-shell $NEW_VERSION $NEW_VERSION / |
| 40 | + |
| 41 | + dockerhub-tag set ${DOCKER_IMAGE} $NEW_VERSION $NEW_VERSION / |
24 | 42 | }
|
25 | 43 |
|
26 | 44 | main() {
|
| 45 | + : ${MAVEN_METADATA_URL:?"required!"} |
| 46 | + : ${DOCKER_IMAGE:?"required!"} |
| 47 | + : ${DOCKERHUB_USERNAME:?"required!"} |
| 48 | + : ${DOCKERHUB_PASSWORD:?"required!"} |
| 49 | + : ${DEBUG:=1} |
| 50 | + |
27 | 51 | new_version "$@"
|
28 | 52 | }
|
29 | 53 |
|
|
0 commit comments