diff --git a/.circleci/config.yml b/.circleci/config.yml
index c32c9f08d835d574866f813f6167997c76e5a475..273643b7c75541a81abb64dec00843ddcfe78380 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,38 +9,17 @@ jobs:
       PROJECT_NAME: "kubernetes-helm"
     steps:
       - checkout
+      - setup_remote_docker
       - run:
           name: install dependencies
           command: make bootstrap
-      - run:
-          name: go env
-          command: go env
       - save_cache:
           key: vendor-{{ checksum "glide.yaml" }}-{{ checksum "glide.lock" }}
           paths:
             - vendor
       - run:
           name: test
-          command: ./scripts/ci.sh
-  deployment:
-    working_directory: /go/src/k8s.io/helm
-    docker:
-      - image: golang:1.8
-    environment:
-      PROJECT_NAME: "kubernetes-helm"
-    filters:
-      tags:
-        only: /.*/
-      branches:
-        only: master
-    steps:
-      - checkout
-      - restore_cache:
-          keys:
-            - vendor-{{ checksum "glide.yaml" }}-{{ checksum "glide.lock" }}
-      - run:
-          name: go env
-          command: go env
+          command: .circleci/test.sh
       - deploy:
-        name: deploy
-        command: ./scripts/ci/deploy.sh
+          name: deploy
+          command: .circleci/deploy.sh
diff --git a/scripts/ci/deploy.sh b/.circleci/deploy.sh
similarity index 67%
rename from scripts/ci/deploy.sh
rename to .circleci/deploy.sh
index 6f8199a1861939d28be6ce15398bd1114e5cb8be..84bcfa33b4cb8a178a4afc6c12cb1e2d37591b08 100755
--- a/scripts/ci/deploy.sh
+++ b/.circleci/deploy.sh
@@ -15,6 +15,11 @@
 # limitations under the License.
 set -euo pipefail
 
+# Skip on pull request builds
+if [[ -n "${CIRCLE_PR_NUMBER:-}" ]]; then
+  exit
+fi
+
 : ${GCLOUD_SERVICE_KEY:?"GCLOUD_SERVICE_KEY environment variable is not set"}
 : ${PROJECT_NAME:?"PROJECT_NAME environment variable is not set"}
 
@@ -27,13 +32,21 @@ else
   exit 1
 fi
 
-echo "Updating gcloud components"
-sudo /opt/google-cloud-sdk/bin/gcloud --quiet components update
+echo "Install docker client"
+VER="17.03.0-ce"
+curl -L -o /tmp/docker-$VER.tgz https://get.docker.com/builds/Linux/x86_64/docker-$VER.tgz
+tar -xz -C /tmp -f /tmp/docker-$VER.tgz
+mv /tmp/docker/* /usr/bin
+
+echo "Install gcloud components"
+export CLOUDSDK_CORE_DISABLE_PROMPTS=1
+curl https://sdk.cloud.google.com | bash
+${HOME}/google-cloud-sdk/bin/gcloud --quiet components update
 
 echo "Configuring gcloud authentication"
 echo "${GCLOUD_SERVICE_KEY}" | base64 --decode > "${HOME}/gcloud-service-key.json"
-sudo /opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file "${HOME}/gcloud-service-key.json"
-sudo /opt/google-cloud-sdk/bin/gcloud config set project "${PROJECT_NAME}"
+${HOME}/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file "${HOME}/gcloud-service-key.json"
+${HOME}/google-cloud-sdk/bin/gcloud config set project "${PROJECT_NAME}"
 docker login -e 1234@5678.com -u _json_key -p "$(cat ${HOME}/gcloud-service-key.json)" https://gcr.io
 
 echo "Building the tiller image"
@@ -47,4 +60,4 @@ make build-cross
 make dist checksum VERSION="${VERSION}"
 
 echo "Pushing binaries to gs bucket"
-sudo /opt/google-cloud-sdk/bin/gsutil cp ./_dist/* "gs://${PROJECT_NAME}"
+${HOME}/google-cloud-sdk/bin/gsutil cp ./_dist/* "gs://${PROJECT_NAME}"
diff --git a/scripts/ci.sh b/.circleci/test.sh
similarity index 100%
rename from scripts/ci.sh
rename to .circleci/test.sh