From 62fe8eb562f2a1223d4f833dd8fb629798e09123 Mon Sep 17 00:00:00 2001 From: Pavol Loffay Date: Mon, 4 Jan 2021 12:52:22 +0100 Subject: [PATCH 1/3] Publish image with javaagent Signed-off-by: Pavol Loffay --- .circleci/config.yml | 1 + build.gradle.kts | 1 + javaagent/Dockerfile | 18 ++++++++++++++++++ javaagent/build.gradle.kts | 1 + 4 files changed, 21 insertions(+) create mode 100644 javaagent/Dockerfile diff --git a/.circleci/config.yml b/.circleci/config.yml index 9686852c1..f41643776 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -70,6 +70,7 @@ jobs: - setup_build_environment - run: echo "Releasing version" && ./gradlew printVersion - run: ./gradlew publish + - run: ./gradlew dockerBuildImages - run: name: "Copy artifacts to workspace" command: | diff --git a/build.gradle.kts b/build.gradle.kts index b7fb73ebb..cfe6a3c9d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("com.diffplug.spotless") version "5.2.0" apply false id("org.hypertrace.publish-plugin") version "0.3.3" apply false id("org.hypertrace.ci-utils-plugin") version "0.1.4" + id("org.hypertrace.docker-publish-plugin") version "0.8.0" apply false } allprojects { diff --git a/javaagent/Dockerfile b/javaagent/Dockerfile new file mode 100644 index 000000000..255136796 --- /dev/null +++ b/javaagent/Dockerfile @@ -0,0 +1,18 @@ +# This is a dockerfile that contains the Hypertrace javaagent. +# This image can be used to get the javaagent into app images or +# as Kubernetes init container to copy the javaagent into the volume mounted into the +# application container. + +FROM hypertrace/java:11 + +LABEL maintainer="Hypertrace 'https://www.hypertrace.org/'" + +ENV JAVAAGENT=/opt/hypertrace/hypertrace-agent-all.jar +COPY build/libs/hypertrace-agent-*-all.jar ${JAVAAGENT} + +# The following binaries are used by sidecar injector +# This statement tests if they exists in the image +RUN which base64 + +# env vars are not interpreted +CMD ["/opt/hypertrace/hypertrace-agent-all.jar"] diff --git a/javaagent/build.gradle.kts b/javaagent/build.gradle.kts index fd3339a61..e2b9706c5 100644 --- a/javaagent/build.gradle.kts +++ b/javaagent/build.gradle.kts @@ -2,6 +2,7 @@ plugins { `java-library` id("com.github.johnrengelman.shadow") version "6.0.0" id("org.hypertrace.publish-plugin") + id("org.hypertrace.docker-publish-plugin") } val versions: Map by extra From 639f99bd9dffd5ec0c70c7d37811a5f3324c74d7 Mon Sep 17 00:00:00 2001 From: Pavol Loffay Date: Mon, 4 Jan 2021 13:25:19 +0100 Subject: [PATCH 2/3] Use make Signed-off-by: Pavol Loffay --- .circleci/config.yml | 2 +- Makefile | 14 ++++++++++++++ build.gradle.kts | 1 - javaagent/build.gradle.kts | 1 - 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f41643776..53d06c79d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -70,7 +70,7 @@ jobs: - setup_build_environment - run: echo "Releasing version" && ./gradlew printVersion - run: ./gradlew publish - - run: ./gradlew dockerBuildImages + - run: DOCKER_TAG=${CIRCLE_TAG} make docker docker-push - run: name: "Copy artifacts to workspace" command: | diff --git a/Makefile b/Makefile index d73ba7ccd..c6dccb478 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,9 @@ +DOCKER_IMAGE ?= hypertrace/javaagent +DOCKER_TAG ?= latest + +.PHONY: assemble +assemble: + ./gradlew assemble --stacktrace .PHONY: build build: @@ -13,6 +19,14 @@ muzzle: # for injecting helper classes from the same packages as instrumentations ./gradlew muzzle --no-daemon +.PHONY: docker +docker: assemble + docker build -f javaagent/Dockerfile javaagent/ -t ${DOCKER_IMAGE}:${DOCKER_TAG} + +.PHONY: docker-push +docker-push: assemble + docker push ${DOCKER_IMAGE}:${DOCKER_TAG} + .PHONY: test test: ./gradlew check diff --git a/build.gradle.kts b/build.gradle.kts index cfe6a3c9d..b7fb73ebb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,6 @@ plugins { id("com.diffplug.spotless") version "5.2.0" apply false id("org.hypertrace.publish-plugin") version "0.3.3" apply false id("org.hypertrace.ci-utils-plugin") version "0.1.4" - id("org.hypertrace.docker-publish-plugin") version "0.8.0" apply false } allprojects { diff --git a/javaagent/build.gradle.kts b/javaagent/build.gradle.kts index e2b9706c5..fd3339a61 100644 --- a/javaagent/build.gradle.kts +++ b/javaagent/build.gradle.kts @@ -2,7 +2,6 @@ plugins { `java-library` id("com.github.johnrengelman.shadow") version "6.0.0" id("org.hypertrace.publish-plugin") - id("org.hypertrace.docker-publish-plugin") } val versions: Map by extra From 49fe66b9f918fb33d941c274e2587bdd31a22626 Mon Sep 17 00:00:00 2001 From: Pavol Loffay Date: Mon, 4 Jan 2021 13:28:09 +0100 Subject: [PATCH 3/3] fix make Signed-off-by: Pavol Loffay --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c6dccb478..641f46b06 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ docker: assemble docker build -f javaagent/Dockerfile javaagent/ -t ${DOCKER_IMAGE}:${DOCKER_TAG} .PHONY: docker-push -docker-push: assemble +docker-push: docker push ${DOCKER_IMAGE}:${DOCKER_TAG} .PHONY: test