diff --git a/.travis.yml b/.travis.yml
index 7fb7420d8d33426d2e5873af9bc2fb4bacf80946..566c88ece05bd80175eea2d1de8fd061a279e273 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 && ./integrate_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..c9c2f23b5b07f0baf96260d8092e7464d4d15659
--- /dev/null
+++ b/integrate_test.sh
@@ -0,0 +1,66 @@
+#
+#  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
+
+set -e
+set -x
+
+echo 'start integrate-test'
+
+# set root workspace
+ROOT_DIR=$(pwd)
+echo "integrate-test root work-space -> ${ROOT_DIR}"
+
+# show all travis-env
+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"
+
+# build go-server image
+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
+
+# build go-client image
+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}
+# run provider
+# check consumer status
+docker run -it --network host ci-consumer
diff --git a/test/integrate/dubbo/go-client/Dockerfile b/test/integrate/dubbo/go-client/Dockerfile
index 1c683613f5cd4c4b92964360996d9e38a079f131..d48df36dc72d7e75f8c2c8c91d5acbb01e39757d 100644
--- a/test/integrate/dubbo/go-client/Dockerfile
+++ b/test/integrate/dubbo/go-client/Dockerfile
@@ -28,8 +28,8 @@ ARG PR_ORIGIN_COMMITID
 ADD . /go/src/github.com/apache/dubbo-go/test/integrate/dubbo/go-client
 
 # update dubbo-go to current commit id
-RUN echo "github.com/apache/dubbo-go will be replace to github.com/${PR_ORIGIN_REPO}@${PR_ORIGIN_COMMITID}"
-RUN go mod edit  -replace=github.com/apache/dubbo-go=github.com/${PR_ORIGIN_REPO}@${PR_ORIGIN_COMMITID}
+RUN test ${PR_ORIGIN_REPO} && echo "github.com/apache/dubbo-go will be replace to github.com/${PR_ORIGIN_REPO}@${PR_ORIGIN_COMMITID}" || echo 'go get github.com/apache/dubbo-go@develop'
+RUN test ${PR_ORIGIN_REPO} && go mod edit  -replace=github.com/apache/dubbo-go=github.com/${PR_ORIGIN_REPO}@${PR_ORIGIN_COMMITID} || go get -u github.com/apache/dubbo-go@develop
 
 RUN go install github.com/apache/dubbo-go/test/integrate/dubbo/go-client
 
diff --git a/test/integrate/dubbo/go-server/Dockerfile b/test/integrate/dubbo/go-server/Dockerfile
index 05596980c3e899dcdafc158d2c54af0252e58a63..c2f2d63462d94df7624ac100023e8b8c24e23e11 100644
--- a/test/integrate/dubbo/go-server/Dockerfile
+++ b/test/integrate/dubbo/go-server/Dockerfile
@@ -27,8 +27,8 @@ ARG PR_ORIGIN_COMMITID
 
 ADD . /go/src/github.com/apache/dubbo-go/test/integrate/dubbo/go-server
 # update dubbo-go to current commit id
-RUN echo "github.com/apache/dubbo-go will be replace to github.com/${PR_ORIGIN_REPO}@${PR_ORIGIN_COMMITID}"
-RUN go mod edit  -replace=github.com/apache/dubbo-go=github.com/${PR_ORIGIN_REPO}@${PR_ORIGIN_COMMITID}
+RUN test ${PR_ORIGIN_REPO} && echo "github.com/apache/dubbo-go will be replace to github.com/${PR_ORIGIN_REPO}@${PR_ORIGIN_COMMITID}" || echo 'go get github.com/apache/dubbo-go@develop'
+RUN test ${PR_ORIGIN_REPO} && go mod edit  -replace=github.com/apache/dubbo-go=github.com/${PR_ORIGIN_REPO}@${PR_ORIGIN_COMMITID} || go get -u github.com/apache/dubbo-go@develop
 
 RUN go install github.com/apache/dubbo-go/test/integrate/dubbo/go-server