diff --git a/.travis.yml b/.travis.yml
index 7fb7420d8d33426d2e5873af9bc2fb4bacf80946..ee5f6a50cbce8b1239bde103b14f12b9bba2d8a5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -26,22 +26,7 @@ script:
   - chmod u+x before_ut.sh && ./before_ut.sh
   - go mod vendor && go test ./... -coverprofile=coverage.txt -covermode=atomic
   # integrate-test
-  - echo 'start integrate-test'
-  # start zookeeper registry insecure listen in [:]:2181
-  - docker run -d --network host zookeeper
-  - ROOTDIR=$(pwd)
-  - cd ./test/integrate/dubbo/go-client && docker build . -t  ci-consumer --build-arg PR_ORIGIN_REPO=${TRAVIS_PULL_REQUEST_SLUG} --build-arg PR_ORIGIN_COMMITID=${TRAVIS_PULL_REQUEST_SHA} && cd $ROOTDIR
-  - cd ./test/integrate/dubbo/go-server && docker build . -t  ci-provider --build-arg PR_ORIGIN_REPO=${TRAVIS_PULL_REQUEST_SLUG} --build-arg PR_ORIGIN_COMMITID=${TRAVIS_PULL_REQUEST_SHA} && cd $ROOTDIR
-  - docker run -d --network host ci-provider
-  - docker run -it --network host ci-consumer
-
-  # another registry instance, start it by dep
-  # start etcd registry  insecure listen in [:]:2379
-  #- docker run -d --network host k8s.gcr.io/etcd:3.3.10 etcd
-  # start consul registry insecure listen in [:]:8500
-  #- docker run -d --network host consul
-  # start nacos registry insecure listen in [:]:8848
-  #- docker run -d --network host nacos/nacos-server:latest
+  - chmod +x integrate_test.sh && ./integtrate_test.sh
 
 after_success:
   - bash <(curl -s https://codecov.io/bash)
diff --git a/integrate_test.sh b/integrate_test.sh
new file mode 100644
index 0000000000000000000000000000000000000000..eacd9a58c0d2bba4f5ac00f5d52c79de1d4e5c60
--- /dev/null
+++ b/integrate_test.sh
@@ -0,0 +1,61 @@
+#
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#  contributor license agreements.  See the NOTICE file distributed with
+#  this work for additional information regarding copyright ownership.
+#  The ASF licenses this file to You under the Apache License, Version 2.0
+#  (the "License"); you may not use this file except in compliance with
+#  the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+#!/bin/bash
+
+# stop integrate test when command return !0
+set -e
+
+echo 'start integrate-test'
+
+# set root workspace
+ROOT_DIR=$(pwd)
+
+
+echo "integrate-test root work-space -> ${ROOT_DIR}"
+echo "travis current commit id  -> ${TRAVIS_COMMIT}"
+echo "travis pull request -> ${TRAVIS_PULL_REQUEST}"
+echo "travis pull request branch -> ${TRAVIS_PULL_REQUEST_BRANCH}"
+echo "travis pull request slug -> ${TRAVIS_PULL_REQUEST_SLUG}"
+echo "travis pull request sha -> ${TRAVIS_PULL_REQUEST_SHA}"
+echo "travis pull request repo slug -> ${TRAVIS_REPO_SLUG}"
+
+
+# #start etcd registry  insecure listen in [:]:2379
+# docker run -d --network host k8s.gcr.io/etcd:3.3.10 etcd
+# echo "etcdv3 listen in [:]2379"
+
+# #start consul registry insecure listen in [:]:8500
+# docker run -d --network host consul
+# echo "consul listen in [:]8500"
+
+# #start nacos registry insecure listen in [:]:8848
+# docker run -d --network host nacos/nacos-server:latest
+# echo "ncacos listen in [:]8848"
+
+# default use zk as registry
+#start zookeeper registry insecure listen in [:]:2181
+docker run -d --network host zookeeper
+echo "zookeeper listen in [:]2181"
+
+# fast fail
+exit 1
+
+
+cd ./test/integrate/dubbo/go-client && docker build . -t  ci-consumer --build-arg PR_ORIGIN_REPO=${TRAVIS_PULL_REQUEST_SLUG} --build-arg PR_ORIGIN_COMMITID=${TRAVIS_PULL_REQUEST_SHA} && cd ${ROOT_DIR}
+cd ./test/integrate/dubbo/go-server && docker build . -t  ci-provider --build-arg PR_ORIGIN_REPO=${TRAVIS_PULL_REQUEST_SLUG} --build-arg PR_ORIGIN_COMMITID=${TRAVIS_PULL_REQUEST_SHA} && cd ${ROOT_DIR}
+docker run -d --network host ci-provider
+docker run -it --network host ci-consumer