@@ -2,15 +2,9 @@ name: Create and push dockerfiles
22
33on :
44 workflow_dispatch :
5- inputs :
6- version :
7- description : ' Version tag to use for Docker images (e.g. 3.0.0)'
8- required : true
9- type : string
10-
115 release :
126 types : [released]
13-
7+
148jobs :
159 latest :
1610 runs-on : ubuntu-22.04
@@ -55,99 +49,34 @@ jobs:
5549 - name : Build Project
5650 run : mvn install -DskipTests=true
5751
58- - name : Determine Version
59- id : version
60- run : |
61- if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
62- VERSION="${{ github.event.inputs.version }}"
63- else
64- VERSION="${GITHUB_REF#refs/tags/}"
65- # Strip leading 'v' if present (e.g. v3.0.4 → 3.0.4)
66- VERSION="${VERSION#v}"
67- fi
68- echo "Using version: $VERSION"
69- echo "version=$VERSION" >> $GITHUB_OUTPUT
70-
71- - name : Build All Docker Images
52+ - name : Set up QEMU
53+ uses : docker/setup-qemu-action@v3
54+
55+ - name : Set up Docker Buildx
56+ uses : docker/setup-buildx-action@v2
57+
58+ - name : Build Docker Images
7259 run : |
73- export DOCKER_REPO=${{ secrets.docker_username }}
74- export VERSION=${GITHUB_REF#refs/tags/} # GitHub release tag
75- echo "Using version: $VERSION"
76-
77- # OLD_DOCKER_MODULES=("agent-module/agent" "flink" "hbase/hbase-docker")
78- SPRING_BOOT_MODULES=("collector-starter" "web-starter" "batch" "collector" "web")
79-
80- build_old_docker() {
81- MODULE_PATH=$1
82- echo "Building old Docker module $MODULE_PATH ..."
83- mvn docker:build -pl $MODULE_PATH -DskipTests=true
84- }
85-
86- build_spring_boot() {
87- MODULE=$1
88- echo "Building Spring Boot module $MODULE (multi-arch)..."
89- mvn -pl $MODULE clean package spring-boot:build-image -DskipTests=true -Dspring-boot.build-image.platform=linux/amd64,linux/arm64
90- }
91-
92- # Build old Docker modules
93- #for MODULE in "${OLD_DOCKER_MODULES[@]}"; do
94- # build_old_docker $MODULE
95- #done
96-
97- # Set up Buildx for multi-arch Spring Boot builds
98- docker buildx create --use --name multiarch-builder || true
99- docker buildx inspect --bootstrap
100-
101- # Build Spring Boot modules
102- for MODULE in "${SPRING_BOOT_MODULES[@]}"; do
103- build_spring_boot $MODULE
104- done
60+ mvn docker:build -pl agent-module/agent
61+ mvn docker:build -pl hbase/hbase-docker
62+ mvn jib:build -pl collector-starter
63+ mvn jib:build -pl web-starter
64+ mvn jib:build -pl batch
65+ mvn jib:build -pl collector
66+ mvn jib:build -pl web
67+ docker images
10568
10669 - name : Log in to Docker Hub
10770 uses : docker/login-action@v3
10871 with :
10972 username : ${{ secrets.docker_username }}
11073 password : ${{ secrets.docker_token }}
111-
112- - name : Push All Docker Images
113- run : |
114- export DOCKER_REPO=${{ secrets.docker_username }}
115- export VERSION=${{ steps.version.outputs.version }}
116- echo "Pushing Docker images for version: $VERSION"
117-
118- # --- Old Docker modules ---
119- docker tag $DOCKER_REPO/pinpoint-agent:latest $DOCKER_REPO/pinpoint-agent:$VERSION
120- docker push $DOCKER_REPO/pinpoint-agent:latest
121- docker push $DOCKER_REPO/pinpoint-agent:$VERSION
122-
123- docker tag $DOCKER_REPO/pinpoint-flink:latest $DOCKER_REPO/pinpoint-flink:$VERSION
124- docker push $DOCKER_REPO/pinpoint-flink:latest
125- docker push $DOCKER_REPO/pinpoint-flink:$VERSION
126-
127- docker tag $DOCKER_REPO/pinpoint-hbase-docker:latest $DOCKER_REPO/pinpoint-hbase-docker:$VERSION
128- docker push $DOCKER_REPO/pinpoint-hbase-docker:latest
129- docker push $DOCKER_REPO/pinpoint-hbase-docker:$VERSION
130-
131-
132- # --- Spring Boot modules (metric images) ---
133- docker tag $DOCKER_REPO/pinpoint-collector-starter:$VERSION-metric $DOCKER_REPO/pinpoint-collector-starter:latest-metric
134- docker push $DOCKER_REPO/pinpoint-collector-starter:$VERSION-metric
135- docker push $DOCKER_REPO/pinpoint-collector-starter:latest-metric
136-
137- docker tag $DOCKER_REPO/pinpoint-web-starter:$VERSION-metric $DOCKER_REPO/pinpoint-web-starter:latest-metric
138- docker push $DOCKER_REPO/pinpoint-web-starter:$VERSION-metric
139- docker push $DOCKER_REPO/pinpoint-web-starter:latest-metric
140-
141- docker tag $DOCKER_REPO/pinpoint-batch:$VERSION-metric $DOCKER_REPO/pinpoint-batch:latest-metric
142- docker push $DOCKER_REPO/pinpoint-batch:$VERSION-metric
143- docker push $DOCKER_REPO/pinpoint-batch:latest-metric
144-
145- docker tag $DOCKER_REPO/pinpoint-collector:$VERSION-metric $DOCKER_REPO/pinpoint-collector:latest-metric
146- docker push $DOCKER_REPO/pinpoint-collector:$VERSION-metric
147- docker push $DOCKER_REPO/pinpoint-collector:latest-metric
148-
149- docker tag $DOCKER_REPO/pinpoint-web:$VERSION-metric $DOCKER_REPO/pinpoint-web:latest-metric
150- docker push $DOCKER_REPO/pinpoint-web:$VERSION-metric
151- docker push $DOCKER_REPO/pinpoint-web:latest-metric
152-
15374
75+ - name : Push to Docker Hub
76+ run : |
77+ docker push --all-tags ${{ secrets.docker_username }}/pinpoint-agent
78+ docker push --all-tags ${{ secrets.docker_username }}/pinpoint-hbase
79+ docker push --all-tags ${{ secrets.docker_username }}/pinpoint-batch
80+ docker push --all-tags ${{ secrets.docker_username }}/pinpoint-collector
81+ docker push --all-tags ${{ secrets.docker_username }}/pinpoint-web
82+
0 commit comments