From 6d5bbe8e5f7edec0cb10e3772266b6f632a04a34 Mon Sep 17 00:00:00 2001 From: zhyyu Date: Wed, 19 Oct 2022 21:21:59 +0800 Subject: [PATCH] Plugin-test configuration.yml dependencies support docker service command field (#357) --- CHANGES.md | 1 + docs/en/setup/service-agent/java-agent/Plugin-test.md | 2 +- .../skywalking/plugin/test/helper/ConfigurationImpl.java | 1 + .../skywalking/plugin/test/helper/vo/DependencyComponent.java | 1 + .../apache/skywalking/plugin/test/helper/vo/DockerService.java | 1 + .../runner-helper/src/main/resources/docker-compose.template | 3 +++ 6 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 55bd238db..18de5f4ae 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -17,6 +17,7 @@ Release Notes. * Bump up grpc to 1.50.0 to fix CVE-2022-3171 * Polish up nats plugin to unify MQ related tags * Correct the duration of the transaction span for Neo4J 4.x. +* Plugin-test configuration.yml dependencies support docker service command field #### Documentation diff --git a/docs/en/setup/service-agent/java-agent/Plugin-test.md b/docs/en/setup/service-agent/java-agent/Plugin-test.md index fc336a4b0..55d529d96 100644 --- a/docs/en/setup/service-agent/java-agent/Plugin-test.md +++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md @@ -109,7 +109,7 @@ File Name | Descriptions | withPlugins | Plugin selector rule, e.g.:`apm-spring-annotation-plugin-*.jar`. Required for `runningMode=with_optional` or `runningMode=with_bootstrap`. | environment | Same as `docker-compose#environment`. | depends_on | Same as `docker-compose#depends_on`. -| dependencies | Same as `docker-compose#services`, `image`, `links`, `hostname`, `environment` and `depends_on` are supported. +| dependencies | Same as `docker-compose#services`, `image`, `links`, `hostname`, `command`, `environment` and `depends_on` are supported. **Note:, `docker-compose` activates only when `dependencies` is blank.** diff --git a/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/ConfigurationImpl.java b/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/ConfigurationImpl.java index 0df1dfb82..740cb7005 100644 --- a/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/ConfigurationImpl.java +++ b/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/ConfigurationImpl.java @@ -248,6 +248,7 @@ public class ConfigurationImpl implements IConfiguration { service.setHealthcheck(dependency.getHealthcheck()); service.setEnvironment(dependency.getEnvironment()); service.setRemoveOnExit(dependency.isRemoveOnExit()); + service.setCommand(dependency.getCommand()); services.add(service); }); return services; diff --git a/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/vo/DependencyComponent.java b/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/vo/DependencyComponent.java index 94cd16b4f..57b5e17ea 100644 --- a/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/vo/DependencyComponent.java +++ b/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/vo/DependencyComponent.java @@ -36,6 +36,7 @@ public class DependencyComponent { private List environment; private List dependsOn; private List healthcheck; + private String command; //make sure that depends_on can be set correctly public void setDepends_on(List dependsOn) { diff --git a/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/vo/DockerService.java b/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/vo/DockerService.java index f0cf90bb9..01f978c20 100644 --- a/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/vo/DockerService.java +++ b/test/plugin/runner-helper/src/main/java/org/apache/skywalking/plugin/test/helper/vo/DockerService.java @@ -36,4 +36,5 @@ public class DockerService { private List healthcheck; private List dependsOn; private List environment; + private String command; } diff --git a/test/plugin/runner-helper/src/main/resources/docker-compose.template b/test/plugin/runner-helper/src/main/resources/docker-compose.template index f7b680332..a4c3be514 100644 --- a/test/plugin/runner-helper/src/main/resources/docker-compose.template +++ b/test/plugin/runner-helper/src/main/resources/docker-compose.template @@ -64,6 +64,9 @@ services: <#if service.remoteOnExit??> remoteOnExit: ${service.remoteOnExit} + <#if service.command??> + command: ${service.command} + <#if service.volumes??> volumes: <#list service.volumes as volume>