publish to docker (#596)

* publish to docker

* chmod 755

* spacing

* docker_user

* provider script instead of after script
diff --git a/.travis.yml b/.travis.yml
index 8515064..a364335 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -29,7 +29,7 @@
 - export RELEASE_PKG_FILE=$(ls $build_file_name-*.*)
 - echo "Deploying $RELEASE_PKG_FILE to GitHub releases."
 deploy:
-  provider: releases
+- provider: releases
   api_key:
     secure: aQGcP7XKlgZEFZ57y4RzYRHfQAM5HEdaa7Y/vTxNepIsE7zY2945qT99UJnU1hfhSjP9jO5eNlHzo+AqJoUx70+iUIhMTyOp39Qp7wb74OKolkXwcntufzP7Ocron5IYUE311tf/kic3vRb5cwoaE2lGfx5PdCuozVjgpsDbIRvV5quQzNr68Toqe+yegKwAhprYRWHPnuIqGbkfa83csqFv6m0viC/gvtFOCB9/4zGCqk/K3CKrcr/5GvnFPxJoaJNfFA6umSZ9VaJjbIJmcXGD3nU+rWP0uEpvzGKIMYhmQq/0JuUTgvh4jnnT4OVZeTh6pMaUqtWH+3HDrOiLAiLjcfeT91j7ZXPnx8LvM6SuoRlvRCuXA2FYx9mz2Vx0TWV5TMqhj3okVO/CvvnMMWwKWOUDD/nSMLy93BM40NjD7zimGjocPsGAjTT9H1PSfau3fiiMjg6iMRWjUTfNY5ra5Wgb7W5G37XaCBJDBZL77Blq/tNWdV5qW4A3l4FWnH+LwOdTdhU35Lr5JWzMuEDdkvVgEv8AQjb07P/ODtBW6z3GRv9Rslg9T9ylxkgJpXoYwdXCbtYU8GNcFdJiDpTaVHrkMeLvHrBTRrDCSnCnRFc3AxsUtLklo7R/EX1wUoX+QcAGjh/AmJ4nJVP1C09913fx96WczkRX6ANg2Mw=
   file_glob: true
@@ -40,6 +40,13 @@
     repo: apache/incubator-openwhisk-wskdeploy
     tags: true
     condition: "$DEPLOY_BUILD_READY = true"
+- provider: script
+  skip_cleanup: true
+  script: "./tools/travis/docker/publish.sh openwhisk wskdeploy ${TRAVIS_TAG}"
+  on:
+    repo: apache/incubator-openwhisk-wskdeploy
+    tags: true
+    condition: "$DEPLOY_BUILD_READY = true"
 env:
   global:
   - BLUEMIX_APIHOST=openwhisk.ng.bluemix.net
diff --git a/tools/travis/docker/Dockerfile b/tools/travis/docker/Dockerfile
new file mode 100755
index 0000000..8f40276
--- /dev/null
+++ b/tools/travis/docker/Dockerfile
@@ -0,0 +1,7 @@
+FROM openwhisk/nodejs6action
+
+RUN apt-get update \
+  && apt-get install -y git \
+  && npm install --save simple-git js-yaml
+
+COPY wskdeploy /nodejsAction/
diff --git a/tools/travis/docker/publish.sh b/tools/travis/docker/publish.sh
new file mode 100755
index 0000000..7373570
--- /dev/null
+++ b/tools/travis/docker/publish.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -eu
+
+SCRIPTDIR=$(cd $(dirname "$0") && pwd)
+
+dockerhub_image_prefix="$1"
+dockerhub_image_name="$2"
+dockerhub_image_tag="$3"
+dockerhub_image="${dockerhub_image_prefix}/${dockerhub_image_name}:${dockerhub_image_tag}"
+
+docker login -u "${DOCKER_USER}" -p "${DOCKER_PASSWORD}"
+
+cp $TRAVIS_BUILD_DIR/build/linux/wskdeploy $SCRIPTDIR/
+
+echo docker build $SCRIPTDIR --tag ${dockerhub_image}
+docker build $SCRIPTDIR --tag ${dockerhub_image}
+
+echo docker push ${dockerhub_image}
+docker push ${dockerhub_image}