diff --git a/.travis.yml b/.travis.yml
index 929ef1362..69492c506 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,8 @@
+sudo: required
+
+services:
+ - docker
+
language: java
install:
- cd ci-dependencies
@@ -13,3 +18,4 @@ script:
after_success:
- mvn clean cobertura:cobertura coveralls:report
+ - bash ./travis/push_image.sh
diff --git a/skywalking-collector/skywalking-collector-worker/pom.xml b/skywalking-collector/skywalking-collector-worker/pom.xml
index fdae9454e..5e4ee972c 100644
--- a/skywalking-collector/skywalking-collector-worker/pom.xml
+++ b/skywalking-collector/skywalking-collector-worker/pom.xml
@@ -15,8 +15,8 @@
9.4.2.v20170220
com.a.eye.skywalking.collector.worker.CollectorBootStartUp
- skywalking-collector
- ${version}
+ skywalking/${artifactId}
+ ${version}
@@ -101,9 +101,9 @@
${docker.plugin.version}
false
- ${docker.cache.imageName}
+ ${docker.image.name}
- ${docker.imageTag.version}
+ ${docker.image.version}
${project.basedir}/docker
diff --git a/travis/push_image.sh b/travis/push_image.sh
new file mode 100644
index 000000000..8c284cce9
--- /dev/null
+++ b/travis/push_image.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+check_pull_is_tagged() {
+ if [ "${TRAVIS_TAG}" == "" ]; then
+ return 1
+ else
+ echo "This build was started by the tag ${TRAVIS_TAG}, push image"
+ return 0
+ fi
+}
+
+check_release_tag() {
+ tag="${TRAVIS_TAG}"
+ if [[ "$tag" =~ ^v[0-9.]*-[0-9]{4}$ ]]; then
+ return 0;
+ else
+ echo "The provided tag ${tag} doesn't match that."
+ return 1;
+ fi
+}
+
+push_image() {
+ IMAGE_VERSION=`echo ${TRAVIS_TAG:1}`
+ docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
+ mvn clean package docker:build
+ docker push skywalking/skywalking-collector:latest
+ docker push skywalking/skywalking-collector:${IMAGE_VERSION}
+}
+
+
+if check_pull_is_tagged && check_release_tag; then
+ push_image
+ echo "Push is Done!"
+fi
\ No newline at end of file