@@ -4,6 +4,7 @@ services:
44 - ' docker'
55
66before_install :
7+ - echo GET CONFIG FROM DOCKERFILE
78 - export IMAGE_NAME=$(grep imagename= Dockerfile | sed -e 's/.*imagename="\(.*\)".*/\1/')
89 - export TEST_COMMAND=$(grep test.command= Dockerfile | sed -e 's/.*test.command="\(.*\)".*/\1/')
910 - export TEST_COMMAND_VERIFY=$(grep test.command.verify= Dockerfile | sed -e 's/.*test.command.verify="\(.*\)".*/\1/')
@@ -13,40 +14,49 @@ before_install:
1314 - echo IMAGE_VERSION=$IMAGE_VERSION
1415 - echo TEST_COMMAND=$TEST_COMMAND
1516 - echo TEST_COMMAND_VERIFY=$TEST_COMMAND_VERIFY
17+ - echo GET CONFIG FROM GIT
18+ - export CURRENT_VERSION=$(git describe --tag --always --long | sed -e 's/\(.*\)-\(.*\)-.*/\1.\2/')
19+ - declare -a CURRENT_VERSION_ARRAY="(${CURRENT_VERSION//./ })"; export SEMVER_MAJOR=${CURRENT_VERSION_ARRAY[0]}; export SEMVER_MINOR=${CURRENT_VERSION_ARRAY[1]}; export SEMVER_BUILD=${CURRENT_VERSION_ARRAY[-1]}
20+ - echo SEMVER_MAJOR:${SEMVER_MAJOR}
21+ - echo SEMVER_MINOR:${SEMVER_MINOR}
22+ - echo SEMVER_BUILD:${SEMVER_BUILD}
23+ - export SEMVER=${SEMVER_MAJOR}.${SEMVER_MINOR}.${SEMVER_BUILD}
24+ - echo SEMVER:$SEMVER
25+ - if [[ ${SEMVER_MAJOR} == "" ]]; then travis_terminate 1; fi
26+ - export TRAVIS_TAG=$SEMVER
27+ - echo TRAVIS_TAG:$TRAVIS_TAG
1628
1729# build and test
1830install :
1931 - docker build --pull -t $IMAGE:$IMAGE_VERSION .
20- - docker tag $IMAGE:$IMAGE_VERSION $IMAGE:latest
21- - export CONTAINER_COMMAND="docker run $IMAGE $TEST_COMMAND"
32+ - export CONTAINER_COMMAND="docker run $IMAGE:$IMAGE_VERSION $TEST_COMMAND"
2233 - echo CONTAINER_COMMAND=$CONTAINER_COMMAND
2334 - export CONTAINER_OUTPUT=$(eval $CONTAINER_COMMAND)
2435 - echo CONTAINER_OUTPUT=$CONTAINER_OUTPUT
2536 - if [[ ! ${CONTAINER_OUTPUT} =~ ${TEST_COMMAND_VERIFY} ]]; then travis_terminate 1; fi
26- - docker tag $IMAGE:$IMAGE_VERSION $IMAGE:$CONTAINER_OUTPUT
2737 - docker images
2838
2939# test
3040script :
3141 - echo "LOGIN TO HUB.DOCKER"
3242 - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
3343 - echo "PUSH HUB.DOCKER"
34- - docker push $IMAGE:$IMAGE_VERSION && docker push $IMAGE:$CONTAINER_OUTPUT && if [[ $TRAVIS_BRANCH == "master" ]]; then docker push $IMAGE:latest; fi
44+ - docker push $IMAGE:$IMAGE_VERSION
45+ - if [[ $TRAVIS_BRANCH == "master" ]]; then docker tag $IMAGE:$IMAGE_VERSION $IMAGE:latest && docker push $IMAGE:latest; fi
3546 - echo "UPDATE README IN HUB.DOCKER"
3647 - if [[ $TRAVIS_BRANCH == "master" ]]; then docker run --rm -v $(pwd):/data/ aemdesign/dockerhub-description "$DOCKER_USERNAME" "$DOCKER_PASSWORD" "$IMAGE"; fi
3748
3849# # Get the project version
3950before_deploy :
40- - export CURRENT_VERSION=$(git describe --tag --always --long | sed -e 's/\(.*\)-\(.*\)-.*/\1.\2/')
41- - echo CURRENT_VERSION=$CURRENT_VERSION
42- - export TRAVIS_TAG=$CURRENT_VERSION
4351 - if [[ $TRAVIS_BRANCH == "master" ]]; then git tag $TRAVIS_TAG; fi
4452
4553# # Create release in GitHub
4654deploy :
4755 provider : releases
56+ tag_name : $TRAVIS_TAG
57+ name : $TRAVIS_TAG
58+ target_commitish : $TRAVIS_COMMIT
4859 api_key : $GITHUB_TOKEN
4960 skip_cleanup : true
5061 on :
5162 branch : master
52- name : $CURRENT_VERSION
0 commit comments