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..2c024c0f5ef45b49705bd366190678ed286b85b4
--- /dev/null
+++ b/integrate_test.sh
@@ -0,0 +1,72 @@
+#
+# 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}"
+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"
+
+if [ ${TRAVIS_PULL_REQUEST_SLUG} ]
+then
+ # this is a pull-request commit
+ # 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}
+ # 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}
+ # run provider
+ docker run -d --network host ci-provider
+ # check consumer status
+ docker run -it --network host ci-consumer
+else
+ # this is merge pull-request to local-repo
+ echo ''
+fi
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