diff --git a/.travis.yml b/.travis.yml
index ea7537e9b..44e19daca 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,5 +21,14 @@ jobs:
     script: ./scripts/travis-e2e.sh
   - stage: E2e helm
     script: ./scripts/travis-e2e-helm.sh
-  - stage: helm update
-    script: 'if [ "$TRAVIS_BRANCH" == "master" ]; then make helm-packages; fi'
+
+deploy:
+  provider: script
+  script: helm/hack/helm-package.sh "alertmanager grafana prometheus prometheus-operator exporter-kube-api \
+                exporter-kube-dns exporter-kube-scheduler exporter-kubelets exporter-node \
+                exporter-kube-controller-manager exporter-kube-etcd exporter-kube-state exporter-kubernetes" && \
+        helm/hack/sync-repo.sh && \
+        helm/hack/helm-package.sh kube-prometheus && \
+        helm/hack/sync-repo.sh
+  on:
+    branch: master
diff --git a/Makefile b/Makefile
index 90ff7c839..33c737876 100644
--- a/Makefile
+++ b/Makefile
@@ -77,13 +77,4 @@ jsonnet-docker:
 	docker build -f scripts/jsonnet/Dockerfile -t po-jsonnet .
 
 
-helm-packages:
-
-	helm/hack/helm-package.sh "alertmanager grafana prometheus prometheus-operator exporter-kube-api \
-		exporter-kube-dns exporter-kube-scheduler exporter-kubelets exporter-node \
-		exporter-kube-controller-manager exporter-kube-etcd exporter-kube-state exporter-kubernetes"
-	helm/hack/sync-repo.sh
-	helm/hack/helm-package.sh kube-prometheus
-	helm/hack/sync-repo.sh
-
 .PHONY: all build crossbuild test format check-license container e2e-test e2e-status e2e clean-e2e embedmd apidocgen docs