未验证 提交 c11ad038 编写于 作者: K kezhenxu94 提交者: GitHub

Count the coverage in E2E tests and Plugin tests (#4651)

上级 181bf13d
......@@ -23,17 +23,17 @@ on:
- master
tags:
- 'v*'
env:
MAVEN_OPTS: -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit
CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
jobs:
CI:
runs-on: ubuntu-18.04
timeout-minutes: 90
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v2
# In the checkout@v2, it doesn't support git submodule. Execute the commands manually.
- name: checkout submodules
shell: bash
run: |
......@@ -44,20 +44,16 @@ jobs:
java-version: 8
- name: 'Install & Test'
run: |
export MAVEN_OPTS='-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -Xmx3g'
./mvnw --batch-mode -P"agent,backend,ui,dist,CI-with-IT" clean cobertura:cobertura verify install javadoc:javadoc
CODECOV_TOKEN="d2065307-8f01-4637-9715-2781ef096db7" bash <(curl -s https://codecov.io/bash)
bash <(curl -s https://codecov.io/bash)
- name: 'Check Dependencies Licenses'
run: tools/dependencies/check-LICENSE.sh
CI-on-Windows:
runs-on: Windows-latest
runs-on: windows-latest
timeout-minutes: 90
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v2
# In the checkout@v2, it doesn't support git submodule. Execute the commands manually.
- name: checkout submodules
shell: bash
run: |
......@@ -67,19 +63,14 @@ jobs:
with:
java-version: 8
- name: 'Install & Test'
run: |
set MAVEN_OPTS='-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -Xmx3g'
./mvnw --batch-mode -P"agent,backend,ui,dist" clean verify install
run: ./mvnw --batch-mode -P"agent,backend,ui,dist" clean verify install
CI-on-MacOS:
runs-on: macos-latest
timeout-minutes: 90
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v2
# In the checkout@v2, it doesn't support git submodule. Execute the commands manually.
- name: checkout submodules
shell: bash
run: |
......@@ -89,6 +80,4 @@ jobs:
with:
java-version: 8
- name: 'Install & Test'
run: |
export MAVEN_OPTS='-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -Xmx3g'
./mvnw --batch-mode -P"agent,backend,ui,dist" clean verify install
run: ./mvnw --batch-mode -P"agent,backend,ui,dist" clean verify install
......@@ -26,6 +26,8 @@ on:
env:
SKIP_TEST: true
SW_AGENT_JDK_VERSION: 8
CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
jobs:
CoordinatorsStorage:
......@@ -52,6 +54,8 @@ jobs:
run: cp -R dist test/e2e/
- name: Cluster with ${{ matrix.coordinator }} and ${{ matrix.storage }}
run: ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.ClusterE2E
- name: Report Coverage
run: bash -x tools/coverage/report.sh
- uses: actions/upload-artifact@v1
if: failure()
with:
......@@ -64,4 +68,4 @@ jobs:
needs: [CoordinatorsStorage]
steps:
- name: Call me by your name
run: echo "Birds of a feather flock together"
\ No newline at end of file
run: echo "Birds of a feather flock together"
......@@ -26,6 +26,7 @@ on:
env:
SKIP_TEST: true
CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
jobs:
JavaVersions:
......@@ -51,6 +52,8 @@ jobs:
run: cp -R dist test/e2e/
- name: Agent on JDK Version ${{ matrix.jdk }}
run: ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.simple.SimpleE2E
- name: Report Coverage
run: bash -x tools/coverage/report.sh
- uses: actions/upload-artifact@v1
if: failure()
with:
......@@ -63,4 +66,4 @@ jobs:
needs: [JavaVersions]
steps:
- name: Singles Bar
run: echo "Singles Bar - Miyuki Nakajima"
\ No newline at end of file
run: echo "Singles Bar - Miyuki Nakajima"
......@@ -26,6 +26,8 @@ on:
env:
SKIP_TEST: true
SW_AGENT_JDK_VERSION: 8
CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
jobs:
Profiling:
......@@ -50,7 +52,8 @@ jobs:
run: cp -R dist test/e2e/
- name: Profiling ${{ matrix.storage }}
run: ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.profile.ProfileE2E
- name: Report Coverage
run: bash -x tools/coverage/report.sh
- uses: actions/upload-artifact@v1
if: failure()
with:
......
......@@ -26,6 +26,8 @@ on:
env:
SKIP_TEST: true
SW_AGENT_JDK_VERSION: 8
CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
jobs:
StoragePlugins:
......@@ -50,6 +52,8 @@ jobs:
run: cp -R dist test/e2e/
- name: Storage ${{ matrix.storage }}
run: ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.storage.StorageE2E
- name: Report Coverage
run: bash -x tools/coverage/report.sh
- uses: actions/upload-artifact@v1
if: failure()
with:
......@@ -62,4 +66,4 @@ jobs:
needs: [StoragePlugins]
steps:
- name: To pass or not pass
run: echo "Just to make the GitHub merge button green"
\ No newline at end of file
run: echo "Just to make the GitHub merge button green"
......@@ -26,6 +26,8 @@ on:
env:
SKIP_TEST: true
SW_AGENT_JDK_VERSION: 8
CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
jobs:
TTL:
......@@ -50,8 +52,10 @@ jobs:
run: cp -R dist test/e2e/
- name: TTL of storage ${{ matrix.storage }}
run: ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.ttl.StorageTTLE2E
- name: Report Coverage
run: bash -x tools/coverage/report.sh
- uses: actions/upload-artifact@v1
if: failure()
with:
name: logs
path: logs
\ No newline at end of file
path: logs
......@@ -27,6 +27,7 @@ on:
env:
SKIP_TEST: true
SW_AGENT_JDK_VERSION: 8
CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
jobs:
FeatureGroup01:
......@@ -51,6 +52,8 @@ jobs:
run: cp -R dist test/e2e/
- name: ${{ matrix.case }}
run: ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.simple.SimpleE2E
- name: Report Coverage
run: bash -x tools/coverage/report.sh
- uses: actions/upload-artifact@v1
if: failure()
with:
......@@ -74,6 +77,8 @@ jobs:
run: cp -R dist test/e2e/
- name: Nginx Lua
run: ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.LuaE2E
- name: Report Coverage
run: bash -x tools/coverage/report.sh
- uses: actions/upload-artifact@v1
if: failure()
with:
......@@ -97,6 +102,8 @@ jobs:
run: cp -R dist test/e2e/
- name: Uninstrumnented gateway
run: ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.GatewayE2E
- name: Report Coverage
run: bash -x tools/coverage/report.sh
- uses: actions/upload-artifact@v1
if: failure()
with:
......
......@@ -18,21 +18,11 @@ name: PluginsTest
on:
pull_request:
paths:
- '.github/workflows/plugins-test*.yaml'
- 'apm-application-toolkit/**'
- 'apm-commons/**'
- 'apm-protocol/**'
- 'apm-sniffer/**'
- 'test/plugin/**'
- '**/pom.xml'
- '!test/e2e/**'
- '!apm-webapp/**'
- '!apm-dist/**'
- '!apm-dist-es7/**'
- '!apm-docker/**'
- '!docs/**'
- '!oap-server/**'
push:
branches:
- master
tags:
- 'v*'
jobs:
PluginsTest:
......@@ -80,3 +70,5 @@ jobs:
run: ./mvnw --batch-mode -f test/plugin/pom.xml clean package -DskipTests docker:build -DBUILD_NO=local
- name: ${{ matrix.case.title }}
run: bash test/plugin/run.sh ${{ matrix.case.name }}
- name: Report Coverage
run: bash -x tools/coverage/report.sh
......@@ -18,21 +18,11 @@ name: PluginsTest
on:
pull_request:
paths:
- '.github/workflows/plugins-test*.yaml'
- 'apm-application-toolkit/**'
- 'apm-commons/**'
- 'apm-protocol/**'
- 'apm-sniffer/**'
- 'test/plugin/**'
- '**/pom.xml'
- '!test/e2e/**'
- '!apm-webapp/**'
- '!apm-dist/**'
- '!apm-dist-es7/**'
- '!apm-docker/**'
- '!docs/**'
- '!oap-server/**'
push:
branches:
- master
tags:
- 'v*'
jobs:
PluginsTest:
......@@ -74,3 +64,5 @@ jobs:
run: ./mvnw --batch-mode -f test/plugin/pom.xml clean package -DskipTests docker:build -DBUILD_NO=local
- name: ${{ matrix.case.title }}
run: bash test/plugin/run.sh ${{ matrix.case.name }}
- name: Report Coverage
run: bash -x tools/coverage/report.sh
......@@ -18,21 +18,11 @@ name: PluginsTest
on:
pull_request:
paths:
- '.github/workflows/plugins-test*.yaml'
- 'apm-application-toolkit/**'
- 'apm-commons/**'
- 'apm-protocol/**'
- 'apm-sniffer/**'
- 'test/plugin/**'
- '**/pom.xml'
- '!test/e2e/**'
- '!apm-webapp/**'
- '!apm-dist/**'
- '!apm-dist-es7/**'
- '!apm-docker/**'
- '!docs/**'
- '!oap-server/**'
push:
branches:
- master
tags:
- 'v*'
jobs:
PluginsTest:
......@@ -84,4 +74,6 @@ jobs:
- name: Build Docker image
run: ./mvnw --batch-mode -f test/plugin/pom.xml clean package -DskipTests docker:build -DBUILD_NO=local
- name: ${{ matrix.case.title }}
run: bash test/plugin/run.sh ${{ matrix.case.name }}
\ No newline at end of file
run: bash test/plugin/run.sh ${{ matrix.case.name }}
- name: Report Coverage
run: bash -x tools/coverage/report.sh
......@@ -18,21 +18,11 @@ name: PluginsTest
on:
pull_request:
paths:
- '.github/workflows/plugins-test*.yaml'
- 'apm-application-toolkit/**'
- 'apm-commons/**'
- 'apm-protocol/**'
- 'apm-sniffer/**'
- 'test/plugin/**'
- '**/pom.xml'
- '!test/e2e/**'
- '!apm-webapp/**'
- '!apm-dist/**'
- '!apm-dist-es7/**'
- '!apm-docker/**'
- '!docs/**'
- '!oap-server/**'
push:
branches:
- master
tags:
- 'v*'
jobs:
PluginsTest:
......@@ -62,6 +52,8 @@ jobs:
run: ./mvnw --batch-mode -f test/plugin/pom.xml clean package -DskipTests docker:build -DBUILD_NO=local
- name: ${{ matrix.case.title }}
run: bash test/plugin/run.sh ${{ matrix.case.name }}
- name: Report Coverage
run: bash -x tools/coverage/report.sh
Oracle:
name: Oracle
......@@ -86,4 +78,6 @@ jobs:
curl -O https://skyapm.github.io/ci-assist/jars/ojdbc14-10.2.0.4.0.jar
curl -L -o ./skywalking-agent/plugins/apm-oracle-10.x-plugin-1.0.1.jar https://github.com/SkyAPM/java-plugin-extensions/releases/download/1.0.1/apm-oracle-10.x-plugin-1.0.1.jar
./mvnw --batch-mode install:install-file -Dfile=ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar
bash test/plugin/run.sh oracle-scenario
\ No newline at end of file
bash test/plugin/run.sh oracle-scenario
- name: Report Coverage
run: bash -x tools/coverage/report.sh
......@@ -12,6 +12,7 @@ microservices, cloud native and container-based (Docker, Kubernetes, Mesos) arch
[![Maven Central](https://img.shields.io/maven-central/v/org.apache.skywalking/apache-skywalking-apm.svg)](http://skywalking.apache.org/downloads/)
[![CI/IT Tests](https://github.com/apache/skywalking/workflows/CI%20AND%20IT/badge.svg?branch=master)](https://github.com/apache/skywalking/actions?query=branch%3Amaster+event%3Apush+workflow%3A%22CI+AND+IT%22)
[![E2E Tests](https://github.com/apache/skywalking/workflows/E2E/badge.svg?branch=master)](https://github.com/apache/skywalking/actions?query=branch%3Amaster+event%3Apush+workflow%3AE2E)
[![Code Coverage](https://codecov.io/gh/apache/skywalking/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/skywalking/branch/master)
# Abstract
**SkyWalking** is an open source APM system, including monitoring, tracing, diagnosing capabilities for distributed system
......
#
# 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.
......@@ -12,16 +13,6 @@
# 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.
#!/usr/bin/env bash
set -ex
SW_HOME=/skywalking
MYSQL_URL="https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar"
MYSQL_DRIVER="mysql-connector-java-8.0.13.jar"
#
curl -L -o "${SW_HOME}/oap-libs/${MYSQL_DRIVER}" ${MYSQL_URL}
if [[ $? -ne 0 ]]; then
echo "Fail to download ${MYSQL_DRIVER}."
exit 1
fi
lombok.addLombokGeneratedAnnotation = true
......@@ -26,7 +26,7 @@ import org.apache.skywalking.apm.util.StringUtil;
import org.apache.skywalking.oap.server.core.analysis.DownSampling;
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.core.analysis.worker.NoneStreamingProcessor;
import org.apache.skywalking.oap.server.core.profile.entity.ProfileTaskCreationResult;
import org.apache.skywalking.oap.server.core.query.entity.ProfileTaskCreationResult;
import org.apache.skywalking.oap.server.core.query.entity.ProfileTask;
import org.apache.skywalking.oap.server.core.storage.StorageModule;
import org.apache.skywalking.oap.server.core.storage.profile.IProfileTaskQueryDAO;
......
......@@ -16,7 +16,7 @@
*
*/
package org.apache.skywalking.oap.server.core.profile.entity;
package org.apache.skywalking.oap.server.core.query.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
......
......@@ -23,7 +23,7 @@ import java.io.IOException;
import org.apache.skywalking.oap.query.graphql.type.ProfileTaskCreationRequest;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.profile.ProfileTaskMutationService;
import org.apache.skywalking.oap.server.core.profile.entity.ProfileTaskCreationResult;
import org.apache.skywalking.oap.server.core.query.entity.ProfileTaskCreationResult;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
/**
......
......@@ -622,9 +622,6 @@
<exclude>org/apache/skywalking/oap/server/core/remote/grpc/proto/*.class</exclude>
<exclude>org/apache/skywalking/oal/rt/grammar/*.class</exclude>
<exclude>org/apache/skywalking/oap/server/exporter/grpc/*.class</exclude>
<exclude>org/apache/skywalking/oap/server/configuration/service/*.class</exclude>
<exclude>org/apache/skywalking/oap/server/starter/OAPServerStartUp.class</exclude>
<exclude>org/apache/skywalking/apm/toolkit/**/*Activation.class</exclude>
<exclude>org/apache/skywalking/apm/plugin/**/*Instrumentation.class</exclude>
<exclude>org/apache/skywalking/apm/plugin/**/*Instrumentation$*.class</exclude>
......
......@@ -21,4 +21,4 @@ spring:
banner-mode: 'off'
e2e:
provider-base-url: ${PROVIDER_URL:http://127.0.0.1:9090}
\ No newline at end of file
provider-base-url: ${PROVIDER_URL:http://127.0.0.1:9090}
......@@ -29,6 +29,6 @@ VOLUME /services
ADD e2e-service-consumer/target/e2e-service-consumer-1.0.0.jar /services/
ENV SW_AGENT_PROPS=""
ENV JAVA_OPTS=""
CMD ["sh", "-c", "java -javaagent:/skywalking/agent/skywalking-agent.jar=logging.output=CONSOLE,$SW_AGENT_PROPS -jar /services/e2e-service-consumer-1.0.0.jar"]
\ No newline at end of file
CMD ["sh", "-c", "java $JAVA_OPTS -jar /services/e2e-service-consumer-1.0.0.jar"]
......@@ -29,6 +29,6 @@ VOLUME /services
ADD e2e-service-provider/target/e2e-service-provider-1.0.0.jar /services/
ENV SW_AGENT_PROPS=""
ENV JAVA_OPTS=""
CMD ["sh", "-c", "java -javaagent:/skywalking/agent/skywalking-agent.jar=logging.output=CONSOLE,$SW_AGENT_PROPS -jar /services/e2e-service-provider-1.0.0.jar"]
\ No newline at end of file
CMD ["sh", "-c", "java $JAVA_OPTS -jar /services/e2e-service-provider-1.0.0.jar"]
......@@ -24,6 +24,40 @@ services:
networks:
- e2e
restart: on-failure
volumes:
- ../../../jacoco:/jacoco
- ./download-mysql.sh:/download-mysql.sh
environment:
SW_CLUSTER_ZK_HOST_PORT: zk:2181
SW_STORAGE_ES_CLUSTER_NODES: es:9200
SW_JDBC_URL: jdbc:mysql://mysql:3306/swtest
SW_STORAGE_INFLUXDB_URL: http://influxdb:8086
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap,destfile=/jacoco/oap.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
oap-es7:
image: skywalking/oap:latest-es7
expose:
- 11800
- 12800
networks:
- e2e
restart: on-failure
volumes:
- ../../../jacoco:/jacoco
- ./download-mysql.sh:/download-mysql.sh
environment:
SW_CLUSTER_ZK_HOST_PORT: zk:2181
SW_STORAGE_ES_CLUSTER_NODES: es:9200
SW_JDBC_URL: jdbc:mysql://mysql:3306/swtest
SW_STORAGE_INFLUXDB_URL: http://influxdb:8086
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap,destfile=/jacoco/oap.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
......@@ -38,25 +72,52 @@ services:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
depends_on:
oap:
condition: service_healthy
provider:
build:
context: ../../../../
context: ../../
dockerfile: e2e-test/docker/Dockerfile.provider
args:
- DIST_PACKAGE=http://archive.apache.org/dist/skywalking/6.5.0/apache-skywalking-apm-6.5.0.tar.gz
- SW_AGENT_JDK_VERSION=${SW_AGENT_JDK_VERSION}
networks:
- e2e
expose:
- 9090
volumes:
- ../../../jacoco:/jacoco
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
depends_on:
oap:
condition: service_healthy
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/provider,destfile=/jacoco/provider.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.apm.dependencies.*
-javaagent:/skywalking/agent/skywalking-agent.jar=logging.output=CONSOLE
healthcheck:
test: ["CMD", "sh", "-c", "nc -nz 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
consumer:
build:
context: ../../
dockerfile: e2e-test/docker/Dockerfile.consumer
args:
- SW_AGENT_JDK_VERSION=${SW_AGENT_JDK_VERSION}
networks:
- e2e
expose:
- 9092
volumes:
- ../../../jacoco:/jacoco
environment:
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/consumer,destfile=/jacoco/consumer.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.apm.dependencies.*
-javaagent:/skywalking/agent/skywalking-agent.jar=logging.output=CONSOLE
healthcheck:
test: ["CMD", "sh", "-c", "nc -nz 127.0.0.1 9092"]
interval: 5s
timeout: 60s
retries: 120
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,11 +17,9 @@ version: '2.1'
services:
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
extends:
file: ../base-compose.yml
service: ui
environment:
- SW_OAP_ADDRESS=oap1:12800,oap2:12800
depends_on:
......@@ -31,60 +29,44 @@ services:
condition: service_healthy
provider1:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap2:11800
- SW_AGENT_NAME=e2e-service-provider
- SW_AGENT_PROPS=agent.instance_name=provider1
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap1:11800
SW_AGENT_NAME: e2e-service-provider
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/provider1,destfile=/jacoco/provider1.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.apm.dependencies.*
-javaagent:/skywalking/agent/skywalking-agent.jar=logging.output=CONSOLE,agent.instance_name=provider1
depends_on:
oap2:
oap1:
condition: service_healthy
provider2:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap2:11800
- SW_AGENT_NAME=e2e-service-provider
- SW_AGENT_PROPS=agent.instance_name=provider2
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap2:11800
SW_AGENT_NAME: e2e-service-provider
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/provider2,destfile=/jacoco/provider2.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.apm.dependencies.*
-javaagent:/skywalking/agent/skywalking-agent.jar=logging.output=CONSOLE,agent.instance_name=provider2
depends_on:
oap2:
condition: service_healthy
consumer:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.consumer
networks:
- e2e
expose:
- 9092
extends:
file: ../base-compose.yml
service: consumer
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap1:11800
- SW_AGENT_NAME=e2e-service-consumer
- SW_AGENT_PROPS=agent.instance_name=consumer
- PROVIDER_URL=http://provider1:9090,http://provider2:9090
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap1:11800
SW_AGENT_NAME: e2e-service-consumer
PROVIDER_URL: http://provider1:9090,http://provider2:9090
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/consumer,destfile=/jacoco/consumer.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.apm.dependencies.*
-javaagent:/skywalking/agent/skywalking-agent.jar=logging.output=CONSOLE,agent.instance_name=consumer
depends_on:
oap1:
condition: service_healthy
......
......@@ -31,23 +31,14 @@ services:
retries: 120
oap1:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CLUSTER: zookeeper
SW_STORAGE: elasticsearch
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap1,destfile=/jacoco/oap1.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
depends_on:
zk:
condition: service_healthy
......@@ -55,23 +46,14 @@ services:
condition: service_healthy
oap2:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CLUSTER: zookeeper
SW_STORAGE: elasticsearch
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap2,destfile=/jacoco/oap2.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
depends_on:
zk:
condition: service_healthy
......@@ -81,4 +63,4 @@ services:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -31,23 +31,14 @@ services:
retries: 120
oap1:
image: skywalking/oap:latest-es7
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap-es7
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=elasticsearch7
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CLUSTER: zookeeper
SW_STORAGE: elasticsearch7
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap1,destfile=/jacoco/oap1.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
depends_on:
zk:
condition: service_healthy
......@@ -55,23 +46,14 @@ services:
condition: service_healthy
oap2:
image: skywalking/oap:latest-es7
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap-es7
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=elasticsearch7
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CLUSTER: zookeeper
SW_STORAGE: elasticsearch7
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap2,destfile=/jacoco/oap2.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
depends_on:
zk:
condition: service_healthy
......@@ -81,4 +63,4 @@ services:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -16,22 +16,6 @@
version: '2.1'
services:
mysql:
image: mysql/mysql-server:8.0.13
networks:
- e2e
expose:
- 3306
environment:
- MYSQL_ROOT_PASSWORD=root@1234
- MYSQL_DATABASE=swtest
- MYSQL_ROOT_HOST=%
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/3306"]
interval: 5s
timeout: 60s
retries: 120
influxdb:
image: influxdb:1.7.9
expose:
......@@ -45,62 +29,30 @@ services:
retries: 120
oap1:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=influxdb
- SW_STORAGE_INFLUXDB_URL=http://influxdb:8086
- SW_STORAGE_METABASE_TYPE=mysql
- SW_STORAGE_METABASE_URL=jdbc:mysql://mysql:3306/swtest
volumes:
- ./download-mysql.sh:/download-mysql.sh
restart: on-failure
entrypoint: ['bash', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CLUSTER: zookeeper
SW_STORAGE: influxdb
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap1,destfile=/jacoco/oap1.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
depends_on:
mysql:
condition: service_healthy
zk:
condition: service_healthy
influxdb:
condition: service_healthy
oap2:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=influxdb
- SW_STORAGE_INFLUXDB_URL=http://influxdb:8086
- SW_STORAGE_METABASE_TYPE=mysql
- SW_STORAGE_METABASE_URL=jdbc:mysql://mysql:3306/swtest
volumes:
- ./download-mysql.sh:/download-mysql.sh
restart: on-failure
entrypoint: ['bash', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CLUSTER: zookeeper
SW_STORAGE: influxdb
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap2,destfile=/jacoco/oap2.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
depends_on:
mysql:
condition: service_healthy
zk:
condition: service_healthy
influxdb:
......@@ -109,4 +61,4 @@ services:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -33,25 +33,14 @@ services:
retries: 120
oap1:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=mysql
- SW_JDBC_URL=jdbc:mysql://mysql:3306/swtest
volumes:
- ./download-mysql.sh:/download-mysql.sh
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CLUSTER: zookeeper
SW_STORAGE: mysql
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap1,destfile=/jacoco/oap1.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
entrypoint: ['bash', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
depends_on:
zk:
......@@ -60,25 +49,14 @@ services:
condition: service_healthy
oap2:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=mysql
- SW_JDBC_URL=jdbc:mysql://mysql:3306/swtest
volumes:
- ./download-mysql.sh:/download-mysql.sh
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CLUSTER: zookeeper
SW_STORAGE: mysql
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap2,destfile=/jacoco/oap2.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
entrypoint: ['bash', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
depends_on:
zk:
......@@ -89,4 +67,4 @@ services:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -43,18 +43,14 @@ services:
retries: 120
oap1:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
SW_CLUSTER: zookeeper
SW_STORAGE: elasticsearch
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap1,destfile=/jacoco/oap1.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
volumes:
- ./gateways.yml:/skywalking/config/gateways.yml
depends_on:
......@@ -62,25 +58,16 @@ services:
condition: service_healthy
es:
condition: service_healthy
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
oap2:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
SW_CLUSTER: zookeeper
SW_STORAGE: elasticsearch
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap2,destfile=/jacoco/oap2.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.*
volumes:
- ./gateways.yml:/skywalking/config/gateways.yml
depends_on:
......@@ -90,18 +77,11 @@ services:
condition: service_healthy
oap1:
condition: service_healthy
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
extends:
file: ../base-compose.yml
service: ui
environment:
- SW_OAP_ADDRESS=oap1:12800,oap2:12800
depends_on:
......@@ -111,57 +91,35 @@ services:
condition: service_healthy
provider1:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap2:11800
- SW_AGENT_NAME=e2e-service-provider
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap1:11800
SW_AGENT_NAME: e2e-service-provider
depends_on:
oap2:
oap1:
condition: service_healthy
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
provider2:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap2:11800
- SW_AGENT_NAME=e2e-service-provider
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap2:11800
SW_AGENT_NAME: e2e-service-provider
depends_on:
oap2:
condition: service_healthy
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
consumer:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.consumer
networks:
- e2e
expose:
- 9092
extends:
file: ../base-compose.yml
service: consumer
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap1:11800
- SW_AGENT_NAME=e2e-service-consumer
- PROVIDER_URL=http://gateway
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap1:11800
SW_AGENT_NAME: e2e-service-consumer
PROVIDER_URL: http://gateway
depends_on:
oap1:
condition: service_healthy
......@@ -182,4 +140,4 @@ services:
restart: on-failure
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,50 +17,27 @@ version: '2.1'
services:
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
extends:
file: ../base-compose.yml
service: oap
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
java-provider:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
- SW_AGENT_NAME=e2e-service-java-provider
SW_AGENT_NAME: e2e-service-java-provider
depends_on:
oap:
condition: service_healthy
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
go2sky:
build:
......@@ -83,27 +60,17 @@ services:
retries: 120
java-consumer:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.consumer
networks:
- e2e
expose:
- 9092
extends:
file: ../base-compose.yml
service: consumer
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
- SW_AGENT_NAME=e2e-service-java-consumer
- PROVIDER_URL=http://go2sky:8080
SW_AGENT_NAME: e2e-service-java-consumer
PROVIDER_URL: http://go2sky:8080
depends_on:
oap:
condition: service_healthy
go2sky:
condition: service_healthy
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9092"]
interval: 5s
timeout: 60s
retries: 120
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,70 +17,37 @@ version: '2.1'
services:
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
extends:
file: ../base-compose.yml
service: oap
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
provider-entry:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
- SW_AGENT_NAME=e2e-service-entry-provider
SW_AGENT_NAME: e2e-service-entry-provider
depends_on:
oap:
condition: service_healthy
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
provider-end:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
- SW_AGENT_NAME=e2e-service-end-provider
SW_AGENT_NAME: e2e-service-end-provider
depends_on:
oap:
condition: service_healthy
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
nginx:
build:
......@@ -102,4 +69,4 @@ services:
entrypoint: ['bash', '-c', 'sleep 5 && /usr/bin/openresty -c /var/nginx/conf.d/nginx.conf']
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,18 +17,9 @@ version: '2.1'
services:
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
extends:
file: ../base-compose.yml
service: oap
php-shadow:
image: skyapm/skywalking-php:v3.2.8
......@@ -63,13 +54,9 @@ services:
- ./php.ini:/usr/local/etc/php/conf.d/ext-skywalking.ini
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../../base-compose.yml
service: ui
depends_on:
php:
condition: service_started
......@@ -79,4 +66,4 @@ services:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -31,24 +31,14 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_STORAGE: elasticsearch
depends_on:
es:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -31,24 +31,14 @@ services:
retries: 120
oap:
image: skywalking/oap:latest-es7
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap-es7
environment:
- SW_STORAGE=elasticsearch7
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_STORAGE: elasticsearch7
depends_on:
es:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -31,23 +31,15 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_STORAGE_H2_URL=jdbc:h2:tcp://h2db:1521/skywalking-oap-db
restart: on-failure
SW_STORAGE: h2
SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db
depends_on:
h2db:
condition: service_healthy
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -16,20 +16,6 @@
version: '2.1'
services:
h2db:
build:
context: .
dockerfile: Dockerfile.h2
networks:
- e2e
expose:
- 1521
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 1521"]
interval: 5s
timeout: 60s
retries: 120
influxdb:
image: influxdb:1.7.9
expose:
......@@ -45,27 +31,16 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_STORAGE=influxdb
- SW_STORAGE_INFLUXDB_URL=http://influxdb:8086
- SW_STORAGE_METABASE_URL=jdbc:h2:tcp://h2db:1521/skywalking-oap-db
restart: on-failure
SW_STORAGE: influxdb
depends_on:
h2db:
condition: service_healthy
influxdb:
condition: service_healthy
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -33,27 +33,15 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
volumes:
- ./download-mysql.sh:/download-mysql.sh
restart: on-failure
extends:
file: ../base-compose.yml
service: oap
environment:
SW_STORAGE: mysql
depends_on:
mysql:
condition: service_healthy
environment:
- SW_STORAGE=mysql
- SW_JDBC_URL=jdbc:mysql://mysql:3306/swtest
entrypoint: ['bash', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,31 +17,22 @@ version: '2.1'
services:
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
provider:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
- SW_AGENT_NAME=e2e-profile-service
SW_AGENT_NAME: e2e-profile-service
depends_on:
oap:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,47 +17,31 @@ version: '2.1'
services:
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
restart: on-failure
extends:
file: ../../base-compose.yml
service: oap
environment:
- SW_AUTHENTICATION=test-token
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_AUTHENTICATION: test-token
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
provider:
build:
context: ../../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
extends:
file: ../../base-compose.yml
service: provider
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
- SW_AGENT_PROPS=agent.authentication=test-token
JAVA_OPTS: >-
-javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/provider,destfile=/jacoco/provider.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.apm.dependencies.*
-javaagent:/skywalking/agent/skywalking-agent.jar=logging.output=CONSOLE,agent.authentication=test-token
depends_on:
oap:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,46 +17,25 @@ version: '2.1'
services:
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
extends:
file: ../../base-compose.yml
service: oap
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
provider:
build:
context: ../../../../
dockerfile: e2e-test/docker/Dockerfile.provider
args:
- SW_AGENT_JDK_VERSION=${SW_AGENT_JDK_VERSION}
networks:
- e2e
expose:
- 9090
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
extends:
file: ../../base-compose.yml
service: provider
depends_on:
oap:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,55 +17,34 @@ version: '2.1'
services:
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
restart: on-failure
extends:
file: ../../base-compose.yml
service: oap
volumes:
- ./certs:/skywalking/certs
environment:
- SW_CORE_GRPC_SSL_ENABLED=true
- SW_CORE_GRPC_SSL_KEY_PATH=/skywalking/certs/server-key.pem
- SW_CORE_GRPC_SSL_CERT_CHAIN_PATH=/skywalking/certs/server.crt
- SW_CORE_GRPC_SSL_TRUSTED_CA_PATH=/skywalking/certs/ca.crt
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_CORE_GRPC_SSL_ENABLED: "true"
SW_CORE_GRPC_SSL_KEY_PATH: /skywalking/certs/server-key.pem
SW_CORE_GRPC_SSL_CERT_CHAIN_PATH: /skywalking/certs/server.crt
SW_CORE_GRPC_SSL_TRUSTED_CA_PATH: /skywalking/certs/ca.crt
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
provider:
build:
context: ../../../../
dockerfile: e2e-test/docker/Dockerfile.provider
args:
- SW_AGENT_JDK_VERSION=${SW_AGENT_JDK_VERSION}
networks:
- e2e
expose:
- 9090
extends:
file: ../../base-compose.yml
service: provider
volumes:
- ./ca:/skywalking/agent/ca
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
depends_on:
oap:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -31,24 +31,14 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_STORAGE: elasticsearch
depends_on:
es:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -31,24 +31,14 @@ services:
retries: 120
oap:
image: skywalking/oap:latest-es7
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap-es7
environment:
- SW_STORAGE=elasticsearch7
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_STORAGE: elasticsearch7
depends_on:
es:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -29,24 +29,14 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
restart: on-failure
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_STORAGE=influxdb
- SW_STORAGE_INFLUXDB_URL=http://influxdb:8086
SW_STORAGE: influxdb
depends_on:
influxdb:
condition: service_healthy
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -33,27 +33,15 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
volumes:
- ./download-mysql.sh:/download-mysql.sh
restart: on-failure
extends:
file: ../base-compose.yml
service: oap
environment:
SW_STORAGE: mysql
depends_on:
mysql:
condition: service_healthy
environment:
- SW_STORAGE=mysql
- SW_JDBC_URL=jdbc:mysql://mysql:3306/swtest
entrypoint: ['bash', '-c', '/download-mysql.sh && /skywalking/docker-entrypoint.sh']
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,30 +17,20 @@ version: '2.1'
services:
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
provider:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap:11800
extends:
file: ../base-compose.yml
service: provider
depends_on:
oap:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -31,36 +31,22 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
- SW_STORAGE_ES_BULK_ACTIONS=1
- SW_CORE_DATA_KEEPER_EXECUTE_PERIOD=1
- SW_STORAGE_ES_FLUSH_INTERVAL=1
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_STORAGE: elasticsearch
SW_STORAGE_ES_BULK_ACTIONS: 1
SW_CORE_DATA_KEEPER_EXECUTE_PERIOD: 1
SW_STORAGE_ES_FLUSH_INTERVAL: 1
depends_on:
es:
condition: service_healthy
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
......
......@@ -31,36 +31,22 @@ services:
retries: 120
oap:
image: skywalking/oap:latest-es7
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap-es7
environment:
- SW_STORAGE=elasticsearch7
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
- SW_STORAGE_ES_BULK_ACTIONS=1
- SW_CORE_DATA_KEEPER_EXECUTE_PERIOD=1
- SW_STORAGE_ES_FLUSH_INTERVAL=1
restart: on-failure
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
SW_STORAGE: elasticsearch7
SW_STORAGE_ES_BULK_ACTIONS: 1
SW_CORE_DATA_KEEPER_EXECUTE_PERIOD: 1
SW_STORAGE_ES_FLUSH_INTERVAL: 1
depends_on:
es:
condition: service_healthy
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
......
......@@ -29,30 +29,20 @@ services:
retries: 120
oap:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
extends:
file: ../base-compose.yml
service: oap
environment:
- SW_STORAGE=influxdb
- SW_STORAGE_INFLUXDB_URL=http://influxdb:8086
- SW_CORE_DATA_KEEPER_EXECUTE_PERIOD=1
- SW_CORE_RECORD_DATA_TTL=7
- SW_CORE_MINUTE_METRIC_DATA_TTL=6000
- SW_CORE_HOUR_METRIC_DATA_TTL=100
- SW_CORE_DAY_METRIC_DATA_TTL=5
- SW_CORE_MONTH_METRIC_DATA_TTL=4
restart: on-failure
SW_STORAGE: influxdb
SW_CORE_DATA_KEEPER_EXECUTE_PERIOD: 1
SW_CORE_RECORD_DATA_TTL: 7
SW_CORE_MINUTE_METRIC_DATA_TTL: 6000
SW_CORE_HOUR_METRIC_DATA_TTL: 100
SW_CORE_DAY_METRIC_DATA_TTL: 5
SW_CORE_MONTH_METRIC_DATA_TTL: 4
depends_on:
influxdb:
condition: service_healthy
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
networks:
e2e:
\ No newline at end of file
e2e:
......@@ -17,16 +17,12 @@ version: '2.1'
services:
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap:12800
extends:
file: ../base-compose.yml
service: ui
depends_on:
oap:
condition: service_healthy
networks:
e2e:
\ No newline at end of file
e2e:
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
<sourceRoots />
</configuration>
</facet>
<facet type="jpa" name="JPA">
<configuration>
<setting name="validation-enabled" value="true" />
<setting name="provider-name" value="Hibernate" />
<datasource-mapping>
<factory-entry name="entityManagerFactory" />
</datasource-mapping>
<naming-strategy-map />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="e2e-base" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.7" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.7" level="project" />
<orderEntry type="library" name="Maven: org.apache.skywalking:e2e-protocol:1.0.0" level="project" />
<orderEntry type="library" name="Maven: io.grpc:grpc-protobuf:1.14.0" level="project" />
<orderEntry type="library" name="Maven: io.grpc:grpc-core:1.14.0" level="project" />
<orderEntry type="library" name="Maven: io.grpc:grpc-context:1.14.0" level="project" />
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.1.2" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.opencensus:opencensus-api:0.12.3" level="project" />
<orderEntry type="library" name="Maven: io.opencensus:opencensus-contrib-grpc-metrics:0.12.3" level="project" />
<orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.5.1" level="project" />
<orderEntry type="library" name="Maven: com.google.api.grpc:proto-google-common-protos:1.0.0" level="project" />
<orderEntry type="library" name="Maven: io.grpc:grpc-protobuf-lite:1.14.0" level="project" />
<orderEntry type="library" name="Maven: io.grpc:grpc-stub:1.14.0" level="project" />
<orderEntry type="library" name="Maven: io.grpc:grpc-netty:1.14.0" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-http2:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-http:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler-proxy:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-socks:4.1.45.Final" level="project" />
<orderEntry type="module" module-name="e2e-service-provider" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" name="Maven: jakarta.persistence:jakarta.persistence-api:2.2.3" level="project" />
<orderEntry type="library" name="Maven: jakarta.transaction:jakarta.transaction-api:1.3.3" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.4.12.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.24.0-GA" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.jboss:jandex:2.1.1.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
<orderEntry type="library" name="Maven: org.dom4j:dom4j:2.1.1" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.2" level="project" />
<orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.2" level="project" />
<orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.8" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.staxex:stax-ex:1.8.1" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.fastinfoset:FastInfoset:1.2.16" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-orm:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aspects:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.h2database:h2:1.4.199" level="project" />
<orderEntry type="module" module-name="e2e-service-consumer" />
<orderEntry type="library" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:2.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.7" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.7" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.7" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.31" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.31" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.31" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter:5.5.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.5.2" level="project" />
<orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.5.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.5.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.5.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.vintage:junit-vintage-engine:5.5.2" level="project" />
<orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-engine:1.5.2" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:3.1.0" level="project" />
<orderEntry type="library" name="Maven: org.assertj:assertj-core:3.13.2" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-core:3.1.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.8" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.8" level="project" />
<orderEntry type="library" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.10" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.testcontainers:testcontainers:1.13.0" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jetbrains:annotations:17.0.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apache.commons:commons-compress:1.20" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.rnorth.duct-tape:duct-tape:1.0.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.rnorth.visible-assertions:visible-assertions:2.1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.rnorth:tcp-unix-socket-proxy:1.0.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.kohlschutter.junixsocket:junixsocket-native-common:2.0.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.scijava:native-lib-loader:2.0.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.kohlschutter.junixsocket:junixsocket-common:2.0.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.java.dev.jna:jna-platform:4.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.java.dev.jna:jna:4.5.2" level="project" />
</component>
</module>
\ No newline at end of file
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/${scenario_name}/case/${scenario_case}
healthCheck: http://localhost:8080/${scenario_name}/case/healthCheck
startScript: ./bin/startup.sh
framework: ${scenario_name}
environment:
dependencies:
\ No newline at end of file
dependencies:
......@@ -17,6 +17,5 @@
type: tomcat
entryService: http://localhost:8080/${scenario_name}/case/${scenario_case}
healthCheck: http://localhost:8080/${scenario_name}/case/healthCheck
framework: ${scenario_name}
environment:
dependencies:
\ No newline at end of file
dependencies:
......@@ -51,6 +51,7 @@ fi
TOOLS_HOME=/usr/local/skywalking/tools
SCENARIO_HOME=/usr/local/skywalking/scenario
JACOCO_HOME=${JACOCO_HOME:-/jacoco}
unzip -q ${SCENARIO_HOME}/*.zip -d /var/run/
if [[ ! -f /var/run/${SCENARIO_NAME}/${SCENARIO_START_SCRIPT} ]]; then
......@@ -62,7 +63,9 @@ ${TOOLS_HOME}/skywalking-mock-collector/bin/collector-startup.sh 1>/dev/null &
healthCheck http://localhost:12800/receiveData
# start applications
export agent_opts="-javaagent:${SCENARIO_HOME}/agent/skywalking-agent.jar
export agent_opts="
-javaagent:${JACOCO_HOME}/jacocoagent.jar=classdumpdir=${JACOCO_HOME}/classes/${SCENARIO_NAME}${SCENARIO_VERSION},destfile=${JACOCO_HOME}/${SCENARIO_NAME}${SCENARIO_VERSION}.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.apm.dependencies.*:org.apache.skywalking.apm.testcase.*
-javaagent:${SCENARIO_HOME}/agent/skywalking-agent.jar
-Dskywalking.collector.grpc_channel_check_interval=2
-Dskywalking.collector.heartbeat_period=2
-Dskywalking.collector.discovery_check_interval=2
......
......@@ -104,10 +104,14 @@
# case the default is "true"
# -----------------------------------------------------------------------------
JACOCO_HOME=${JACOCO_HOME:-/jacoco}
export AGENT_FILE_PATH=/usr/local/skywalking/scenario/agent
echo "${AGENT_FILE_PATH}/skywalking-agent.jar"
if [ -f "${AGENT_FILE_PATH}/skywalking-agent.jar" ]; then
CATALINA_OPTS="$CATALINA_OPTS -javaagent:${AGENT_FILE_PATH}/skywalking-agent.jar
CATALINA_OPTS="$CATALINA_OPTS
-javaagent:${JACOCO_HOME}/jacocoagent.jar=classdumpdir=${JACOCO_HOME}/classes/${SCENARIO_NAME}${SCENARIO_VERSION},destfile=${JACOCO_HOME}/${SCENARIO_NAME}${SCENARIO_VERSION}.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.apm.dependencies.*:org.apache.skywalking.apm.testcase.*
-javaagent:${AGENT_FILE_PATH}/skywalking-agent.jar
-Dskywalking.collector.grpc_channel_check_interval=2
-Dskywalking.collector.heartbeat_period=2
-Dskywalking.collector.discovery_check_interval=2
......
......@@ -16,6 +16,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set -ex
home="$(cd "$(dirname $0)"; pwd)"
scenario_name=""
parallel_run_size=1
......@@ -23,7 +25,8 @@ force_build="off"
cleanup="off"
mvnw=${home}/../../mvnw
agent_home=${home}"/../../skywalking-agent"
agent_home="${home}"/../../skywalking-agent
jacoco_home="${home}"/../jacoco
scenarios_home="${home}/scenarios"
print_help() {
......@@ -34,7 +37,6 @@ print_help() {
}
parse_commandline() {
_positionals_count=0
while test $# -gt 0
do
_key="$1"
......@@ -209,6 +211,7 @@ do
-Dscenario.version=${version} \
-Doutput.dir=${case_work_base} \
-Dagent.dir=${_agent_home} \
-Djacoco.home=${jacoco_home} \
-Ddocker.image.version=${BUILD_NO:=local} \
${plugin_runner_helper} 1>${case_work_logs_dir}/helper.log
......
......@@ -45,12 +45,6 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
......
......@@ -29,7 +29,7 @@ import org.apache.logging.log4j.Logger;
import org.apache.skywalking.plugin.test.helper.exception.GenerateFailedException;
public abstract class AbstractRunningGenerator implements ScenarioRunningScriptGenerator {
private Logger logger = LogManager.getLogger(MethodHandles.lookup().lookupClass());
private static final Logger logger = LogManager.getLogger(MethodHandles.lookup().lookupClass());
protected final Configuration cfg;
protected AbstractRunningGenerator() {
......@@ -49,10 +49,8 @@ public abstract class AbstractRunningGenerator implements ScenarioRunningScriptG
public final void generate(IConfiguration configuration) throws GenerateFailedException {
generateAdditionFiles(configuration);
Map<String, Object> root = new HashMap<>();
final Map<String, Object> root = configuration.toMap();
root.put("running_script", runningScript(configuration));
root.put("scenario_name", configuration.scenarioName());
root.put("scenario_version", configuration.scenarioVersion());
try {
cfg.getTemplate("scenario.sh")
......
......@@ -18,23 +18,28 @@
package org.apache.skywalking.plugin.test.helper;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.skywalking.plugin.test.helper.exception.ConfigureFileNotFoundException;
import org.apache.skywalking.plugin.test.helper.util.StringUtils;
import org.apache.skywalking.plugin.test.helper.vo.CaseConfiguration;
import org.apache.skywalking.plugin.test.helper.vo.DependencyComponent;
import org.apache.skywalking.plugin.test.helper.vo.DockerService;
import org.yaml.snakeyaml.Yaml;
public class ConfigurationImpl implements IConfiguration {
private CaseConfiguration configuration;
private final CaseConfiguration configuration;
private final String scenarioHome;
public ConfigurationImpl() throws FileNotFoundException, ConfigureFileNotFoundException {
String configureFile = System.getProperty("configure.file");
if (StringUtils.isBlank(configureFile)) {
if (Strings.isNullOrEmpty(configureFile)) {
throw new ConfigureFileNotFoundException();
}
......@@ -86,11 +91,6 @@ public class ConfigurationImpl implements IConfiguration {
return System.getProperty("scenario.version");
}
@Override
public String testFramework() {
return this.configuration.getFramework();
}
@Override
public String entryService() {
return this.configuration.getEntryService();
......@@ -154,4 +154,81 @@ public class ConfigurationImpl implements IConfiguration {
return System.getProperty("output.dir");
}
@Override
public String jacocoHome() {
return System.getProperty("jacoco.home");
}
@Override
public Map<String, Object> toMap() {
final Map<String, Object> root = new HashMap<>();
root.put("agent_home", agentHome());
root.put("scenario_home", scenarioHome());
root.put("scenario_name", scenarioName());
root.put("scenario_version", scenarioVersion());
root.put("health_check", healthCheck());
root.put("start_script", startScript());
root.put("catalina_opts", catalinaOpts());
root.put("entry_service", entryService());
root.put("docker_image_name", dockerImageName());
root.put("docker_image_version", dockerImageVersion());
root.put("docker_container_name", dockerContainerName());
root.put("jacoco_home", jacocoHome());
root.put("expose", caseConfiguration().getExpose());
root.put("hostname", caseConfiguration().getHostname());
root.put("depends_on", caseConfiguration().getDepends_on());
root.put("environments", caseConfiguration().getEnvironment());
root.put("network_name", dockerNetworkName());
root.put("services", convertDockerServices(scenarioVersion(), caseConfiguration().getDependencies()));
root.put("docker_compose_file", outputDir() + File.separator + "docker-compose.yml");
root.put("build_id", dockerImageVersion());
final StringBuilder removeImagesScript = new StringBuilder();
final ArrayList<String> links = Lists.newArrayList();
if (caseConfiguration().getDependencies() != null) {
caseConfiguration().getDependencies().forEach((name, service) -> {
links.add(service.getHostname());
if (service.isRemoveOnExit()) {
removeImagesScript.append("docker rmi ")
.append(
service.getImage().replace("${CASE_SERVER_IMAGE_VERSION}", scenarioVersion()))
.append(System.lineSeparator());
}
});
}
root.put("links", links);
root.put("removeImagesScript", removeImagesScript.toString());
return root;
}
protected List<DockerService> convertDockerServices(final String version,
Map<String, DependencyComponent> componentMap) {
final ArrayList<DockerService> services = Lists.newArrayList();
if (componentMap == null) {
return services;
}
componentMap.forEach((name, dependency) -> {
DockerService service = new DockerService();
String imageName = dependency.getImage().replace("${CASE_SERVER_IMAGE_VERSION}", version);
service.setName(name);
service.setImageName(imageName);
service.setExpose(dependency.getExpose());
service.setLinks(dependency.getDepends_on());
service.setStartScript(dependency.getStartScript());
service.setHostname(dependency.getHostname());
service.setDepends_on(dependency.getDepends_on());
service.setEntrypoint(dependency.getEntrypoint());
service.setHealthcheck(dependency.getHealthcheck());
service.setEnvironment(dependency.getEnvironment());
service.setRemoveOnExit(dependency.isRemoveOnExit());
services.add(service);
});
return services;
}
}
......@@ -17,61 +17,28 @@
package org.apache.skywalking.plugin.test.helper;
import com.google.common.collect.Lists;
import freemarker.template.Configuration;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.skywalking.plugin.test.helper.vo.DependencyComponent;
import org.apache.skywalking.plugin.test.helper.vo.DockerService;
public class DockerComposeRunningGenerator extends AbstractRunningGenerator {
private static Logger logger = LogManager.getLogger(MethodHandles.lookup().lookupClass());
private static final Logger logger = LogManager.getLogger(MethodHandles.lookup().lookupClass());
protected DockerComposeRunningGenerator() {
}
@Override
public void generateAdditionFiles(IConfiguration configuration) {
Map<String, Object> root = new HashMap<>();
root.put("agent_home", configuration.agentHome());
root.put("scenario_home", configuration.scenarioHome());
root.put("scenario_name", configuration.scenarioName());
root.put("scenario_version", configuration.scenarioVersion());
root.put("entry_service", configuration.entryService());
root.put("start_script", configuration.startScript());
root.put("health_check", configuration.healthCheck());
root.put("expose", configuration.caseConfiguration().getExpose());
root.put("hostname", configuration.caseConfiguration().getHostname());
root.put("depends_on", configuration.caseConfiguration().getDepends_on());
root.put("environments", configuration.caseConfiguration().getEnvironment());
root.put("docker_image_name", configuration.dockerImageName());
root.put("docker_image_version", configuration.dockerImageVersion());
root.put("docker_container_name", configuration.dockerContainerName());
root.put("network_name", configuration.dockerNetworkName());
ArrayList<String> links = Lists.newArrayList();
configuration.caseConfiguration().getDependencies().forEach((k, service) -> {
links.add(service.getHostname());
});
root.put("links", links);
root.put("services", convertDockerServices(configuration.scenarioVersion(), configuration.caseConfiguration()
.getDependencies()));
final Map<String, Object> root = configuration.toMap();
Configuration cfg = new Configuration(Configuration.VERSION_2_3_28);
try {
......@@ -91,55 +58,13 @@ public class DockerComposeRunningGenerator extends AbstractRunningGenerator {
}
}
protected List<DockerService> convertDockerServices(final String version,
Map<String, DependencyComponent> componentMap) {
ArrayList<DockerService> services = Lists.newArrayList();
componentMap.forEach((name, dependency) -> {
DockerService service = new DockerService();
String imageName = dependency.getImage().replace("${CASE_SERVER_IMAGE_VERSION}", version);
service.setName(name);
service.setImageName(imageName);
service.setExpose(dependency.getExpose());
service.setLinks(dependency.getDepends_on());
service.setStartScript(dependency.getStartScript());
service.setHostname(dependency.getHostname());
service.setDepends_on(dependency.getDepends_on());
service.setEntrypoint(dependency.getEntrypoint());
service.setHealthcheck(dependency.getHealthcheck());
service.setEnvironment(dependency.getEnvironment());
service.setRemoveOnExit(dependency.getRemoveOnExit());
services.add(service);
});
return services;
}
@Override
public String runningScript(IConfiguration configuration) {
String docker_compose_file = configuration.outputDir() + File.separator + "docker-compose.yml";
Map<String, Object> root = new HashMap<>();
root.put("scenario_name", configuration.scenarioName());
root.put("scenario_home", configuration.scenarioHome());
root.put("scenario_version", configuration.scenarioVersion());
root.put("docker_compose_file", docker_compose_file);
root.put("build_id", configuration.dockerImageVersion());
root.put("docker_container_name", configuration.dockerContainerName());
StringBuilder removeImagesScript = new StringBuilder();
configuration.caseConfiguration().getDependencies().forEach((name, service) -> {
if (service.getRemoveOnExit()) {
removeImagesScript.append("docker rmi ")
.append(service.getImage().replace("${CASE_SERVER_IMAGE_VERSION}", configuration.scenarioVersion()))
.append(System.lineSeparator());
}
});
root.put("removeImagesScript", removeImagesScript.toString());
final Map<String, Object> root = configuration.toMap();
StringWriter out = null;
StringWriter out = new StringWriter();
try {
out = new StringWriter();
cfg.getTemplate("compose-start-script.template").process(root, out);
} catch (Exception e) {
logger.error("Failed to generate running script.", e);
......
......@@ -25,7 +25,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class DockerContainerRunningGenerator extends AbstractRunningGenerator {
private static Logger logger = LogManager.getLogger(MethodHandles.lookup().lookupClass());
private static final Logger logger = LogManager.getLogger(MethodHandles.lookup().lookupClass());
protected DockerContainerRunningGenerator() {
}
......@@ -37,24 +37,10 @@ public class DockerContainerRunningGenerator extends AbstractRunningGenerator {
@Override
public String runningScript(IConfiguration configuration) {
Map<String, Object> root = new HashMap<>();
root.put("agent_home", configuration.agentHome());
root.put("scenario_home", configuration.scenarioHome());
root.put("scenario_name", configuration.scenarioName());
root.put("scenario_version", configuration.scenarioVersion());
root.put("health_check", configuration.healthCheck());
root.put("start_script", configuration.startScript());
root.put("catalina_opts", configuration.catalinaOpts());
root.put("entry_service", configuration.entryService());
root.put("test_framework", configuration.testFramework());
root.put("docker_image_name", configuration.dockerImageName());
root.put("docker_image_version", configuration.dockerImageVersion());
root.put("docker_container_name", configuration.dockerContainerName());
StringWriter out = null;
final Map<String, Object> root = configuration.toMap();
final StringWriter out = new StringWriter();
try {
out = new StringWriter();
cfg.getTemplate("container-start-script.template").process(root, out);
} catch (Exception e) {
logger.error("Failed to generate running script.", e);
......
......@@ -19,6 +19,8 @@ package org.apache.skywalking.plugin.test.helper;
import org.apache.skywalking.plugin.test.helper.vo.CaseConfiguration;
import java.util.Map;
public interface IConfiguration {
String agentHome();
......@@ -32,9 +34,6 @@ public interface IConfiguration {
String scenarioVersion();
@Deprecated
String testFramework();
String healthCheck();
String startScript();
......@@ -55,4 +54,7 @@ public interface IConfiguration {
String outputDir();
String jacocoHome();
Map<String, Object> toMap();
}
......@@ -18,5 +18,5 @@
package org.apache.skywalking.plugin.test.helper;
public enum RunningType {
Container, DockerCompose;
Container, DockerCompose
}
/*
* 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.skywalking.plugin.test.helper.util;
public class StringUtils {
public static boolean isBlank(String str) {
return str == null || str.length() == 0;
}
}
......@@ -17,14 +17,18 @@
package org.apache.skywalking.plugin.test.helper.vo;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
import java.util.Map;
@Getter
@Setter
public class CaseConfiguration {
private String type;
private String entryService;
private String healthCheck;
private String framework;
private String hostname;
private String startScript;
private Map<String, DependencyComponent> dependencies;
......@@ -33,100 +37,4 @@ public class CaseConfiguration {
private List<String> depends_on;
private String runningMode;
private String withPlugins;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getEntryService() {
return entryService;
}
public void setEntryService(String entryService) {
this.entryService = entryService;
}
public String getHealthCheck() {
return healthCheck;
}
public void setHealthCheck(String healthCheck) {
this.healthCheck = healthCheck;
}
public String getFramework() {
return framework;
}
public void setFramework(String framework) {
this.framework = framework;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public String getStartScript() {
return startScript;
}
public void setStartScript(String startScript) {
this.startScript = startScript;
}
public Map<String, DependencyComponent> getDependencies() {
return dependencies;
}
public void setDependencies(Map<String, DependencyComponent> dependencies) {
this.dependencies = dependencies;
}
public List<String> getEnvironment() {
return environment;
}
public void setEnvironment(List<String> environment) {
this.environment = environment;
}
public List<String> getExpose() {
return expose;
}
public void setExpose(List<String> expose) {
this.expose = expose;
}
public List<String> getDepends_on() {
return depends_on;
}
public void setDepends_on(List<String> depends_on) {
this.depends_on = depends_on;
}
public String getRunningMode() {
return runningMode;
}
public void setRunningMode(String runningMode) {
this.runningMode = runningMode;
}
public String getWithPlugins() {
return withPlugins;
}
public void setWithPlugins(String withPlugins) {
this.withPlugins = withPlugins;
}
}
......@@ -17,8 +17,13 @@
package org.apache.skywalking.plugin.test.helper.vo;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class DependencyComponent {
private String image;
private String hostname;
......@@ -31,92 +36,4 @@ public class DependencyComponent {
private List<String> environment;
private List<String> depends_on;
private List<String> healthcheck;
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public List<String> getLinks() {
return links;
}
public void setLinks(List<String> links) {
this.links = links;
}
public List<String> getExpose() {
return expose;
}
public void setExpose(List<String> expose) {
this.expose = expose;
}
public List<String> getEntrypoint() {
return entrypoint;
}
public void setEntrypoint(List<String> entrypoint) {
this.entrypoint = entrypoint;
}
public List<String> getEnvironment() {
return environment;
}
public void setEnvironment(List<String> environment) {
this.environment = environment;
}
public List<String> getDepends_on() {
return depends_on;
}
public void setDepends_on(List<String> depends_on) {
this.depends_on = depends_on;
}
public List<String> getHealthcheck() {
return healthcheck;
}
public void setHealthcheck(List<String> healthcheck) {
this.healthcheck = healthcheck;
}
public List<String> getStartScript() {
return startScript;
}
public void setStartScript(List<String> startScript) {
this.startScript = startScript;
}
public boolean getRemoveOnExit() {
return removeOnExit;
}
public void setRemoveOnExit(final boolean removeOnExit) {
this.removeOnExit = removeOnExit;
}
}
......@@ -17,8 +17,13 @@
package org.apache.skywalking.plugin.test.helper.vo;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class DockerService {
private String name;
private String imageName;
......@@ -31,92 +36,4 @@ public class DockerService {
private List<String> healthcheck;
private List<String> depends_on;
private List<String> environment;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImageName() {
return imageName;
}
public void setImageName(String imageName) {
this.imageName = imageName;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public List<String> getLinks() {
return links;
}
public void setLinks(List<String> links) {
this.links = links;
}
public List<String> getExpose() {
return expose;
}
public void setExpose(List<String> expose) {
this.expose = expose;
}
public List<String> getEntrypoint() {
return entrypoint;
}
public void setEntrypoint(List<String> entrypoint) {
this.entrypoint = entrypoint;
}
public List<String> getHealthcheck() {
return healthcheck;
}
public void setHealthcheck(List<String> healthcheck) {
this.healthcheck = healthcheck;
}
public List<String> getDepends_on() {
return depends_on;
}
public void setDepends_on(List<String> depends_on) {
this.depends_on = depends_on;
}
public List<String> getEnvironment() {
return environment;
}
public void setEnvironment(List<String> environment) {
this.environment = environment;
}
public List<String> getStartScript() {
return startScript;
}
public void setStartScript(List<String> startScript) {
this.startScript = startScript;
}
public boolean getRemoveOnExit() {
return removeOnExit;
}
public void setRemoveOnExit(final boolean removeOnExit) {
this.removeOnExit = removeOnExit;
}
}
......@@ -31,6 +31,7 @@ docker run \
</#if>
-v ${agent_home}:/usr/local/skywalking/scenario/agent \
-v ${scenario_home}:/usr/local/skywalking/scenario \
-v ${jacoco_home}:/jacoco \
${docker_image_name}:${docker_image_version} 1>${scenario_home}/logs/container.log
status="$?"
......
......@@ -48,6 +48,7 @@ services:
volumes:
- ${agent_home}:/usr/local/skywalking/scenario/agent
- ${scenario_home}:/usr/local/skywalking/scenario
- ${jacoco_home}:/jacoco
<#if depends_on??>
depends_on:
<#list depends_on as item>
......@@ -103,4 +104,4 @@ services:
${item}
</#list>
</#if>
</#list>
\ No newline at end of file
</#list>
......@@ -48,12 +48,6 @@ public class DockerComposeV2RunningGeneratorTest {
configuration = new ConfigurationImpl();
}
@Test
public void testGenerateDockerCompose() {
String runningScript = dockerComposeRunningGenerator.runningScript(configuration);
// assertEquals(String.format("docker-compose -f %s/docker-compose.yml up", TARGET_DIR), runningScript);
}
@Test
public void testGenerateAdditionalFile() throws GenerateFailedException {
dockerComposeRunningGenerator.generateAdditionFiles(configuration);
......
......@@ -41,7 +41,6 @@ public class DockerContainerRunningGeneratorTest {
when(configuration.dockerImageName()).thenReturn("skyapm/agent-tomcat");
when(configuration.entryService()).thenReturn("http://localhost:8080/entryService");
when(configuration.healthCheck()).thenReturn("http://localhost:8080/healthCheck");
when(configuration.testFramework()).thenReturn("http");
when(configuration.scenarioVersion()).thenReturn("4.3.2");
when(configuration.scenarioHome()).thenReturn("./scenario");
when(configuration.scenarioName()).thenReturn("test");
......
......@@ -43,7 +43,6 @@ public class CaseIConfigurationTest {
CaseConfiguration caseConfiguration = yaml.loadAs(configurationFile, CaseConfiguration.class);
assertNotNull(caseConfiguration);
assertThat(caseConfiguration.getFramework(), is("solrj"));
assertThat(caseConfiguration.getDependencies().size(), is(1));
}
}
......@@ -17,7 +17,6 @@ type: jvm
entryService: http://localhost:8080/solrj-7.x-scenario/case/solrj
healthCheck: http://localhost:8080/solrj-7.x-scenario/heathcheck
startScript: ./bin/startup.sh
framework: solrj
runningMode: with_optional
withPlugins: apm-gson-2.x-plugin-*.jar;apm-spring-cloud-gateway-2.x-plugin-*.jar
environment:
......
......@@ -18,7 +18,6 @@ type: jvm
entryService: http://localhost:8080/activemq-scenario/case/activemq
healthCheck: http://localhost:8080/activemq-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: activemq-scenario
environment:
- activemq.server=tcp://activemq-server:61616
dependencies:
......
......@@ -18,4 +18,3 @@ type: jvm
entryService: http://localhost:8080/apm-toolkit-trace-scenario/case/tool-kit
healthCheck: http://localhost:8080/apm-toolkit-trace-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: apm-toolkit-trace
......@@ -18,4 +18,3 @@ type: jvm
entryService: '"http://localhost:8080/greet/skywalking?q1=v1&chinese=%e4%b8%ad%e6%96%87"'
healthCheck: http://localhost:8080/healthCheck
startScript: ./bin/startup.sh
framework: Armeria
......@@ -18,4 +18,3 @@ type: jvm
entryService: http://localhost:8080/greet/skywalking
healthCheck: http://localhost:8080/healthCheck
startScript: ./bin/startup.sh
framework: Armeria
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/avro-scenario/case/avro-scenario
healthCheck: http://localhost:8080/avro-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: avro-scenario
environment:
dependencies:
\ No newline at end of file
dependencies:
......@@ -18,7 +18,6 @@ type: jvm
entryService: http://localhost:8080/canal-scenario/case/canal-case
healthCheck: http://localhost:8080/canal-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: canal
environment:
- CANAL_HOST=canal-server
- CANAL_PORT=11111
......@@ -40,4 +39,4 @@ dependencies:
- canal.instance.dbUsername=root
- canal.instance.dbPassword=000000
depends_on:
- mysql
\ No newline at end of file
- mysql
......@@ -18,7 +18,6 @@ type: jvm
entryService: http://localhost:8080/cassandra-java-driver-3.x-scenario/case/cassandra
healthCheck: http://localhost:8080/cassandra-java-driver-3.x-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: cassandra-java-driver-3.x-scenario
environment:
- cassandra.host=cassandra-server
- cassandra.port=9042
......
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/customize-scenario/case/customize
healthCheck: http://localhost:8080/customize-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: customize-scenario
runningMode: with_optional
withPlugins: apm-customize-enhance-plugin-*.jar
......@@ -18,4 +18,3 @@ type: jvm
entryService: http://localhost:8080/dubbo-2.5.x-scenario/case/dubbo
healthCheck: http://localhost:8080/dubbo-2.5.x-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: dubbo
......@@ -18,4 +18,3 @@ type: jvm
entryService: http://localhost:8080/dubbo-2.7.x-scenario/case/dubbo
healthCheck: http://localhost:8080/dubbo-2.7.x-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: dubbo
......@@ -17,4 +17,3 @@
type: tomcat
entryService: http://localhost:8080/ehcache-2.x-scenario/case/ehcache
healthCheck: http://localhost:8080/ehcache-2.x-scenario/healthCheck
framework: ehcache-2.x
......@@ -16,7 +16,6 @@ type: jvm
entryService: http://localhost:8080/elasticsearch-case/case/elasticsearch
healthCheck: http://localhost:8080/elasticsearch-case/case/healthcheck
startScript: ./bin/startup.sh
framework: elasticsearch
environment:
- elasticsearch.server=elasticsearch-server-5.x
dependencies:
......
......@@ -16,7 +16,6 @@ type: jvm
entryService: http://localhost:8080/elasticsearch-case/case/elasticsearch
healthCheck: http://localhost:8080/elasticsearch-case/case/healthcheck
startScript: ./bin/startup.sh
framework: elasticsearch
environment:
- elasticsearch.server=elasticsearch-server-6.x:9200
dependencies:
......
......@@ -18,7 +18,6 @@ type: jvm
entryService: http://localhost:8080/elasticsearch-case/case/elasticsearch
healthCheck: http://localhost:8080/elasticsearch-case/case/healthCheck
startScript: ./bin/startup.sh
framework: elasticsearch-7.x-scenario
environment:
- elasticsearch.server=elasticsearch-server-7.x:9200
dependencies:
......
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/feign-scenario/case/feign-scenario
healthCheck: http://localhost:8080/feign-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: feign-scenario
environment:
dependencies:
\ No newline at end of file
dependencies:
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/finagle-17.10.x-scenario/case/finagle
healthCheck: http://localhost:8080/finagle-17.10.x-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: finagle-17.10.x-scenario
environment:
dependencies:
\ No newline at end of file
dependencies:
......@@ -18,4 +18,3 @@ type: jvm
entryService: http://localhost:8080/finagle-6.25.x-scenario/case/finagle
healthCheck: http://localhost:8080/finagle-6.25.x-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: finagle
\ No newline at end of file
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/finagle-6.44.x-scenario/case/finagle
healthCheck: http://localhost:8080/finagle-6.44.x-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: finagle-6.44.x-scenario
environment:
dependencies:
\ No newline at end of file
dependencies:
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/provider/b/testcase
healthCheck: http://localhost:8080/provider/b/healthCheck
startScript: ./bin/startup.sh
framework: spring-cloud-gateway
runningMode: with_optional
withPlugins: apm-spring-cloud-gateway-2.x-plugin-*.jar
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/grpc-scenario/case/grpc-scenario
healthCheck: http://localhost:8080/grpc-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: grpc-scenario
environment:
dependencies:
\ No newline at end of file
dependencies:
......@@ -18,8 +18,7 @@ type: jvm
entryService: http://localhost:8080/gson-scenario/case/gson-scenario
healthCheck: http://localhost:8080/gson-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: gson-scenario
runningMode: with_optional
withPlugins: apm-gson-2.x-plugin-*.jar
environment:
dependencies:
\ No newline at end of file
dependencies:
......@@ -18,4 +18,3 @@ type: jvm
entryService: http://localhost:8080/h2-scenario/case/h2-scenario
healthCheck: http://localhost:8080/h2-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: h2-scenario
\ No newline at end of file
......@@ -16,4 +16,3 @@ type: jvm
entryService: http://localhost:8080/httpasyncclient/case/httpasyncclient
healthCheck: http://localhost:8080/httpasyncclient/case/healthcheck
startScript: ./bin/startup.sh
framework: httpasyncclient
......@@ -17,6 +17,5 @@
type: tomcat
entryService: '"http://localhost:8080/httpclient-3.x-scenario/case/httpclient?q1=v1&chinese=%e4%b8%ad%e6%96%87"'
healthCheck: http://localhost:8080/httpclient-3.x-scenario/healthCheck
framework: httpclient
environment:
- CATALINA_OPTS="-Dskywalking.plugin.tomcat.collect_http_params=true"
\ No newline at end of file
- CATALINA_OPTS="-Dskywalking.plugin.tomcat.collect_http_params=true"
......@@ -17,4 +17,3 @@
type: tomcat
entryService: http://localhost:8080/httpclient-4.3.x-scenario/case/httpclient
healthCheck: http://localhost:8080/httpclient-4.3.x-scenario/healthCheck
framework: httpclient
......@@ -18,6 +18,5 @@ type: jvm
entryService: http://localhost:8080/hystrix-scenario/case/hystrix-scenario
healthCheck: http://localhost:8080/hystrix-scenario/case/healthCheck
startScript: ./bin/startup.sh
framework: hystrix-scenario
environment:
dependencies:
\ No newline at end of file
dependencies:
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册