You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2020/04/07 00:21:58 UTC
[servicecomb-java-chassis] 01/03: [SCB-1850]add demo-edge to
integrations tests and run when build
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
commit 8aa86f3f81cb4a816c090f9cd319bc7e4ed50cd0
Author: liubao <bi...@qq.com>
AuthorDate: Fri Apr 3 09:44:18 2020 +0800
[SCB-1850]add demo-edge to integrations tests and run when build
---
demo/demo-edge/authentication/pom.xml | 42 +++
.../src/main/resources/microservice.yaml | 3 +-
demo/demo-edge/business-1-1-0/pom.xml | 41 ++-
demo/demo-edge/business-1.0.0/pom.xml | 39 +++
demo/demo-edge/business-2.0.0/pom.xml | 41 ++-
demo/demo-edge/consumer/pom.xml | 45 ++-
.../servicecomb/demo/edge/consumer/EdgeDemoIT.java | 39 +++
demo/demo-edge/edge-service/pom.xml | 39 +++
.../src/main/resources/microservice.yaml | 5 +-
demo/demo-edge/pom.xml | 14 +-
demo/docker-build-config/pom.xml | 2 +-
demo/docker-run-config-edge/pom.xml | 333 +++++++++++++++++++++
demo/pom.xml | 1 +
13 files changed, 625 insertions(+), 19 deletions(-)
diff --git a/demo/demo-edge/authentication/pom.xml b/demo/demo-edge/authentication/pom.xml
index b27a5ee..0844d8e 100644
--- a/demo/demo-edge/authentication/pom.xml
+++ b/demo/demo-edge/authentication/pom.xml
@@ -35,4 +35,46 @@
<artifactId>transport-rest-vertx</artifactId>
</dependency>
</dependencies>
+ <properties>
+ <demo.main>org.apache.servicecomb.demo.edge.authentication.AuthMain</demo.main>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>com.github.odavid.maven.plugins</groupId>
+ <artifactId>mixin-maven-plugin</artifactId>
+ <configuration>
+ <mixins>
+ <mixin>
+ <groupId>org.apache.servicecomb.demo</groupId>
+ <artifactId>docker-build-config</artifactId>
+ <version>${project.version}</version>
+ </mixin>
+ </mixins>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.commonjava.maven.plugins</groupId>
+ <artifactId>directory-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/demo/demo-edge/authentication/src/main/resources/microservice.yaml b/demo/demo-edge/authentication/src/main/resources/microservice.yaml
index 87e42bc..3c68147 100644
--- a/demo/demo-edge/authentication/src/main/resources/microservice.yaml
+++ b/demo/demo-edge/authentication/src/main/resources/microservice.yaml
@@ -26,4 +26,5 @@ servicecomb:
rest:
address: 127.0.0.1:7070
server:
- verticle-count: 10
+ # for test case run in one core machine
+ verticle-count: 1
diff --git a/demo/demo-edge/business-1-1-0/pom.xml b/demo/demo-edge/business-1-1-0/pom.xml
index 3700a68..312fa3c 100644
--- a/demo/demo-edge/business-1-1-0/pom.xml
+++ b/demo/demo-edge/business-1-1-0/pom.xml
@@ -45,7 +45,46 @@
<dependency>
<groupId>org.apache.servicecomb.demo</groupId>
<artifactId>model</artifactId>
- <version>2.0.2-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>com.github.odavid.maven.plugins</groupId>
+ <artifactId>mixin-maven-plugin</artifactId>
+ <configuration>
+ <mixins>
+ <mixin>
+ <groupId>org.apache.servicecomb.demo</groupId>
+ <artifactId>docker-build-config</artifactId>
+ <version>${project.version}</version>
+ </mixin>
+ </mixins>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.commonjava.maven.plugins</groupId>
+ <artifactId>directory-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/demo/demo-edge/business-1.0.0/pom.xml b/demo/demo-edge/business-1.0.0/pom.xml
index 1a25bae..f8b385f 100644
--- a/demo/demo-edge/business-1.0.0/pom.xml
+++ b/demo/demo-edge/business-1.0.0/pom.xml
@@ -50,4 +50,43 @@
<version>${project.version}</version>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>com.github.odavid.maven.plugins</groupId>
+ <artifactId>mixin-maven-plugin</artifactId>
+ <configuration>
+ <mixins>
+ <mixin>
+ <groupId>org.apache.servicecomb.demo</groupId>
+ <artifactId>docker-build-config</artifactId>
+ <version>${project.version}</version>
+ </mixin>
+ </mixins>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.commonjava.maven.plugins</groupId>
+ <artifactId>directory-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/demo/demo-edge/business-2.0.0/pom.xml b/demo/demo-edge/business-2.0.0/pom.xml
index dc49872..8281e10 100644
--- a/demo/demo-edge/business-2.0.0/pom.xml
+++ b/demo/demo-edge/business-2.0.0/pom.xml
@@ -47,7 +47,46 @@
<dependency>
<groupId>org.apache.servicecomb.demo</groupId>
<artifactId>model</artifactId>
- <version>2.0.2-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>com.github.odavid.maven.plugins</groupId>
+ <artifactId>mixin-maven-plugin</artifactId>
+ <configuration>
+ <mixins>
+ <mixin>
+ <groupId>org.apache.servicecomb.demo</groupId>
+ <artifactId>docker-build-config</artifactId>
+ <version>${project.version}</version>
+ </mixin>
+ </mixins>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.commonjava.maven.plugins</groupId>
+ <artifactId>directory-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/demo/demo-edge/consumer/pom.xml b/demo/demo-edge/consumer/pom.xml
index df2d2b6..b40fb89 100644
--- a/demo/demo-edge/consumer/pom.xml
+++ b/demo/demo-edge/consumer/pom.xml
@@ -50,8 +50,51 @@
</dependency>
<dependency>
<groupId>org.apache.servicecomb.demo</groupId>
+ <artifactId>demo-schema</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicecomb.demo</groupId>
<artifactId>model</artifactId>
- <version>2.0.2-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <!-- Because other demos depend on this module, if add classpath, the depended module will fail dual to spring configuration files duplication.
+ So, we remove maven-dependency-plugin to make all integration tests run. In your applications, still need to add this to make packaged jar files run.
+ -->
+ <!--
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ -->
+ <plugin>
+ <groupId>com.github.odavid.maven.plugins</groupId>
+ <artifactId>mixin-maven-plugin</artifactId>
+ <configuration>
+ <mixins>
+ <mixin>
+ <groupId>org.apache.servicecomb.demo</groupId>
+ <artifactId>docker-run-config-edge</artifactId>
+ <version>${project.version}</version>
+ </mixin>
+ </mixins>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/demo/demo-edge/consumer/src/test/java/org/apache/servicecomb/demo/edge/consumer/EdgeDemoIT.java b/demo/demo-edge/consumer/src/test/java/org/apache/servicecomb/demo/edge/consumer/EdgeDemoIT.java
new file mode 100644
index 0000000..f5f161f
--- /dev/null
+++ b/demo/demo-edge/consumer/src/test/java/org/apache/servicecomb/demo/edge/consumer/EdgeDemoIT.java
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+package org.apache.servicecomb.demo.edge.consumer;
+
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+
+import org.apache.servicecomb.demo.TestMgr;
+import org.junit.Before;
+import org.junit.Test;
+
+public class EdgeDemoIT {
+ @Before
+ public void setUp() {
+ TestMgr.errors().clear();
+ }
+
+ @Test
+ public void clientGetsNoError() throws Exception {
+ ConsumerMain.main(new String[0]);
+
+ assertThat(TestMgr.errors().isEmpty(), is(true));
+ }
+}
diff --git a/demo/demo-edge/edge-service/pom.xml b/demo/demo-edge/edge-service/pom.xml
index 9f6b99a..836a3b0 100644
--- a/demo/demo-edge/edge-service/pom.xml
+++ b/demo/demo-edge/edge-service/pom.xml
@@ -44,4 +44,43 @@
<artifactId>provider-pojo</artifactId>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>com.github.odavid.maven.plugins</groupId>
+ <artifactId>mixin-maven-plugin</artifactId>
+ <configuration>
+ <mixins>
+ <mixin>
+ <groupId>org.apache.servicecomb.demo</groupId>
+ <artifactId>docker-build-config</artifactId>
+ <version>${project.version}</version>
+ </mixin>
+ </mixins>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.commonjava.maven.plugins</groupId>
+ <artifactId>directory-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/demo/demo-edge/edge-service/src/main/resources/microservice.yaml b/demo/demo-edge/edge-service/src/main/resources/microservice.yaml
index f4f2489..cd575cb 100644
--- a/demo/demo-edge/edge-service/src/main/resources/microservice.yaml
+++ b/demo/demo-edge/edge-service/src/main/resources/microservice.yaml
@@ -26,9 +26,10 @@ servicecomb:
rest:
address: 127.0.0.1:18080
server:
- verticle-count: 8
+ # for test case run in one core machine
+ verticle-count: 1
client:
- verticle-count: 8
+ verticle-count: 1
handler:
chain:
Consumer:
diff --git a/demo/demo-edge/pom.xml b/demo/demo-edge/pom.xml
index 3dd60ef..99ba17c 100644
--- a/demo/demo-edge/pom.xml
+++ b/demo/demo-edge/pom.xml
@@ -40,23 +40,13 @@
</dependencies>
<modules>
- <module>edge-service</module>
-
-
<module>model</module>
- <module>consumer</module>
+ <module>edge-service</module>
<module>business-1.0.0</module>
<module>business-1-1-0</module>
<module>business-2.0.0</module>
<module>authentication</module>
+ <module>consumer</module>
</modules>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/demo/docker-build-config/pom.xml b/demo/docker-build-config/pom.xml
index 99bc943..6e1c028 100644
--- a/demo/docker-build-config/pom.xml
+++ b/demo/docker-build-config/pom.xml
@@ -52,7 +52,7 @@
<descriptor>${root.basedir}/demo/assembly/assembly.xml</descriptor>
</assembly>
<entryPoint>
- <shell>java $JAVA_OPTS -jar $JAR_PATH</shell>
+ <shell>java -Xmx64m $JAVA_OPTS -jar $JAR_PATH</shell>
</entryPoint>
</build>
</image>
diff --git a/demo/docker-run-config-edge/pom.xml b/demo/docker-run-config-edge/pom.xml
new file mode 100644
index 0000000..d6ae1a5
--- /dev/null
+++ b/demo/docker-run-config-edge/pom.xml
@@ -0,0 +1,333 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>demo-parent</artifactId>
+ <groupId>org.apache.servicecomb.demo</groupId>
+ <version>2.0.2-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>docker-run-config-edge</artifactId>
+ <name>Java Chassis::Demo::Docker Run Config</name>
+
+ <packaging>pom</packaging>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <configuration>
+ <images>
+ <image>
+ <name>servicecomb/service-center</name>
+ <alias>service-center</alias>
+ <run>
+ <wait>
+ <log>server is ready</log>
+ <tcp>
+ <ports>
+ <port>30100</port>
+ </ports>
+ </tcp>
+ <time>60000</time>
+ </wait>
+ <ports>
+ <port>service.center.port:30100</port>
+ </ports>
+ </run>
+ </image>
+ <image>
+ <name>authentication:${project.version}</name>
+ <alias>authentication</alias>
+ <run>
+ <env>
+ <JAVA_OPTS>
+ -Dservicecomb.service.registry.address=http://sc.servicecomb.io:30100 -Dservicecomb.service.publishAddress=${docker.hostname}
+ </JAVA_OPTS>
+ <JAR_PATH>/maven/maven/authentication-${project.version}.jar</JAR_PATH>
+ </env>
+ <links>
+ <link>service-center:sc.servicecomb.io</link>
+ </links>
+ <wait>
+ <log>Register microservice instance success</log>
+ <!--
+ the log waiting of the plugin has a bug and fails frequently
+ refer to https://github.com/fabric8io/docker-maven-plugin/issues/767
+ this http checking is used as a temporary solution
+ -->
+ <tcp>
+ <ports>
+ <port>7070</port>
+ </ports>
+ </tcp>
+ <time>120000</time>
+ </wait>
+ <ports>
+ <port>7070:7070</port>
+ </ports>
+ <dependsOn>
+ <container>service-center</container>
+ </dependsOn>
+ </run>
+ </image>
+ <image>
+ <name>business-1-0-0:${project.version}</name>
+ <alias>business-1-0-0</alias>
+ <run>
+ <env>
+ <JAVA_OPTS>
+ -Dservicecomb.service.registry.address=http://sc.servicecomb.io:30100 -Dservicecomb.service.publishAddress=${docker.hostname}
+ </JAVA_OPTS>
+ <JAR_PATH>/maven/maven/business-1-0-0-${project.version}.jar</JAR_PATH>
+ </env>
+ <links>
+ <link>service-center:sc.servicecomb.io</link>
+ </links>
+ <wait>
+ <log>Register microservice instance success</log>
+ <!--
+ the log waiting of the plugin has a bug and fails frequently
+ refer to https://github.com/fabric8io/docker-maven-plugin/issues/767
+ this http checking is used as a temporary solution
+ -->
+ <tcp>
+ <ports>
+ <port>8080</port>
+ </ports>
+ </tcp>
+ <time>120000</time>
+ </wait>
+ <ports>
+ <port>8080:8080</port>
+ </ports>
+ <dependsOn>
+ <container>service-center</container>
+ </dependsOn>
+ </run>
+ </image>
+ <image>
+ <name>business-1-1-0:${project.version}</name>
+ <alias>business-1-1-0</alias>
+ <run>
+ <env>
+ <JAVA_OPTS>
+ -Dservicecomb.service.registry.address=http://sc.servicecomb.io:30100 -Dservicecomb.service.publishAddress=${docker.hostname}
+ </JAVA_OPTS>
+ <JAR_PATH>/maven/maven/business-1-1-0-${project.version}.jar</JAR_PATH>
+ </env>
+ <links>
+ <link>service-center:sc.servicecomb.io</link>
+ </links>
+ <wait>
+ <log>Register microservice instance success</log>
+ <!--
+ the log waiting of the plugin has a bug and fails frequently
+ refer to https://github.com/fabric8io/docker-maven-plugin/issues/767
+ this http checking is used as a temporary solution
+ -->
+ <tcp>
+ <ports>
+ <port>8090</port>
+ </ports>
+ </tcp>
+ <time>120000</time>
+ </wait>
+ <ports>
+ <port>8090:8090</port>
+ </ports>
+ <dependsOn>
+ <container>service-center</container>
+ </dependsOn>
+ </run>
+ </image>
+ <image>
+ <name>business-2-0-0:${project.version}</name>
+ <alias>business-2-0-0</alias>
+ <run>
+ <env>
+ <JAVA_OPTS>
+ -Dservicecomb.service.registry.address=http://sc.servicecomb.io:30100 -Dservicecomb.service.publishAddress=${docker.hostname}
+ </JAVA_OPTS>
+ <JAR_PATH>/maven/maven/business-2-0-0-${project.version}.jar</JAR_PATH>
+ </env>
+ <links>
+ <link>service-center:sc.servicecomb.io</link>
+ </links>
+ <wait>
+ <log>Register microservice instance success</log>
+ <!--
+ the log waiting of the plugin has a bug and fails frequently
+ refer to https://github.com/fabric8io/docker-maven-plugin/issues/767
+ this http checking is used as a temporary solution
+ -->
+ <tcp>
+ <ports>
+ <port>8091</port>
+ </ports>
+ </tcp>
+ <time>120000</time>
+ </wait>
+ <ports>
+ <port>8091:8091</port>
+ </ports>
+ <dependsOn>
+ <container>service-center</container>
+ </dependsOn>
+ </run>
+ </image>
+ <image>
+ <name>edge-service:${project.version}</name>
+ <alias>edge-service</alias>
+ <run>
+ <env>
+ <JAVA_OPTS>
+ -Dservicecomb.service.registry.address=http://sc.servicecomb.io:30100 -Dservicecomb.service.publishAddress=${docker.hostname}
+ </JAVA_OPTS>
+ <JAR_PATH>/maven/maven/edge-service-${project.version}.jar</JAR_PATH>
+ </env>
+ <links>
+ <link>service-center:sc.servicecomb.io</link>
+ </links>
+ <wait>
+ <log>Register microservice instance success</log>
+ <!--
+ the log waiting of the plugin has a bug and fails frequently
+ refer to https://github.com/fabric8io/docker-maven-plugin/issues/767
+ this http checking is used as a temporary solution
+ -->
+ <tcp>
+ <ports>
+ <port>18080</port>
+ </ports>
+ </tcp>
+ <time>120000</time>
+ </wait>
+ <ports>
+ <port>18080:18080</port>
+ </ports>
+ <dependsOn>
+ <container>service-center</container>
+ </dependsOn>
+ </run>
+ </image>
+ </images>
+ </configuration>
+ <executions>
+ <execution>
+ <id>start</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>start</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stop</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>gmaven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-default-properties</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <source>
+ project.properties.setProperty('docker.hostname', 'localhost')
+ log.info("Docker hostname is " + project.properties['docker.hostname'])
+ </source>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>2.19.1</version>
+ <configuration>
+ <systemPropertyVariables>
+ <servicecomb.service.registry.address>http://${docker.hostname}:${service.center.port}</servicecomb.service.registry.address>
+ </systemPropertyVariables>
+ <argLine>${jacoco.failsafe.argLine}</argLine>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>docker-machine</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>gmaven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-dynamic-properties</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <source>
+ def process = "docker-machine ip default".execute()
+ process.waitFor()
+ project.properties.setProperty('docker.hostname', process.in.text.trim())
+
+ log.info("Docker hostname is " + project.properties['docker.hostname'])
+ </source>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/demo/pom.xml b/demo/pom.xml
index 2125eb4..431ea88 100644
--- a/demo/pom.xml
+++ b/demo/pom.xml
@@ -33,6 +33,7 @@
<modules>
<module>docker-build-config</module>
<module>docker-run-config</module>
+ <module>docker-run-config-edge</module>
<module>demo-schema</module>
<module>demo-pojo</module>
<module>demo-jaxrs</module>