This is an automated email from the ASF dual-hosted git repository.

zhengqiwei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/master by this push:
     new c12b4c0d8 [bugfix] fix github action build docker image error (#2525)
c12b4c0d8 is described below

commit c12b4c0d84736fa670d0114f94c8fc9f94f54d41
Author: tomsun28 <[email protected]>
AuthorDate: Thu Aug 15 21:10:55 2024 +0800

    [bugfix] fix github action build docker image error (#2525)
    
    Signed-off-by: tomsun28 <[email protected]>
---
 .github/workflows/backend-build-test.yml | 17 +++++-------
 .github/workflows/nightly-build.yml      | 47 +++++++++++++++++++++-----------
 e2e/docker-compose.yml                   |  2 +-
 script/docker/collector/Dockerfile       |  6 ++--
 script/docker/collector/build.sh         | 12 ++++----
 script/docker/server/Dockerfile          |  9 ++----
 script/docker/server/build.sh            | 24 ++++++++--------
 7 files changed, 62 insertions(+), 55 deletions(-)

diff --git a/.github/workflows/backend-build-test.yml 
b/.github/workflows/backend-build-test.yml
index 3ddbc454f..ed07af721 100644
--- a/.github/workflows/backend-build-test.yml
+++ b/.github/workflows/backend-build-test.yml
@@ -22,7 +22,7 @@ name: Backend CI
 
 on:
   push:
-    branches: [ master, dev ]
+    branches: [ master, dev, action* ]
     paths-ignore:
       - '**.md'
       - 'home/**'
@@ -55,15 +55,12 @@ jobs:
         token: ${{ secrets.CODECOV_TOKEN }}
 
     - name: Build Image
-      env:
-        IMAGE_PUSH: false
-        IMAGE_LOAD: true
-        IMAGE_PLATFORM: linux/amd64
-      run: |
-        docker buildx create --use --name myBuilder --driver docker-container
-        docker buildx use myBuilder
-        
-        ./script/docker/server/build.sh
+      uses: docker/build-push-action@v3
+      with:
+        context: ./dist
+        file: ./script/docker/server/Dockerfile
+        push: false
+        tags: apache/hertzbeat:test
 
     - name: Run E2E
       run: |
diff --git a/.github/workflows/nightly-build.yml 
b/.github/workflows/nightly-build.yml
index 8a6060da8..edbecde00 100644
--- a/.github/workflows/nightly-build.yml
+++ b/.github/workflows/nightly-build.yml
@@ -21,40 +21,55 @@ on:
   schedule:
     # trigger at 00:00 everyday
     - cron: '0 0 * * *'
+  push:
+    branches: [ action* ]
 
 jobs:
   build:
     runs-on: ubuntu-latest
+    if: ${{ github.repository == 'apache/hertzbeat' }}
     steps:
     - uses: actions/checkout@v4
-    - uses: docker/setup-qemu-action@v3
     - name: Set up JDK 17
       uses: actions/setup-java@v1
       with:
         java-version: 17
-    - name: Build with Maven
-      run: mvn clean -B package -Prelease --file pom.xml
-
-    - name: Build Image
-      env:
-        IMAGE_PUSH: false
-        IMAGE_LOAD: true
-        IMAGE_VERSION: nightly
+        
+    - name: Build the Frontend
       run: |
-        docker buildx create --use --name myBuilder --driver docker-container
-        docker buildx use myBuilder
+        cd web-app
+        yarn install
+        yarn package
         
-        ./script/docker/server/build.sh
+    - name: Build the Backend
+      run: |
+        mvn clean install
+        mvn clean package -Prelease -DskipTests
+        cd collector
+        mvn clean package -Pcluster -DskipTests
 
-    - name: Login to Docker Hub
+    - uses: docker/setup-qemu-action@v3
+    - uses: docker/setup-buildx-action@v3
+    - name: Log in to Docker Hub
       uses: docker/login-action@v3
-      with: 
+      with:
         username: ${{ secrets.DOCKERHUB_USER }}
         password: ${{ secrets.DOCKERHUB_TOKEN }}
         
-    - name: Build and Push
+    - name: Build and Push Server
       uses: docker/build-push-action@v6
       with:
-        context: .
+        context: ./dist
+        file: ./script/docker/server/Dockerfile
+        platforms: linux/amd64,linux/arm64
         push: true
         tags: apache/hertzbeat:nightly
+        
+    - name: Build and Push Collector
+      uses: docker/build-push-action@v6
+      with:
+        context: ./dist
+        file: ./script/docker/collector/Dockerfile
+        platforms: linux/amd64,linux/arm64
+        push: true
+        tags: apache/hertzbeat-collector:nightly
diff --git a/e2e/docker-compose.yml b/e2e/docker-compose.yml
index b9e1b12ce..a8527fe51 100644
--- a/e2e/docker-compose.yml
+++ b/e2e/docker-compose.yml
@@ -33,7 +33,7 @@ services:
       - hertzbeat
 
   hertzbeat:
-    image: apache/hertzbeat
+    image: apache/hertzbeat:test
     container_name: e2e-hertzbeat
     volumes:
       - ./logs/:/opt/hertzbeat/logs/
diff --git a/script/docker/collector/Dockerfile 
b/script/docker/collector/Dockerfile
index ff075dc72..f5a76f173 100644
--- a/script/docker/collector/Dockerfile
+++ b/script/docker/collector/Dockerfile
@@ -17,19 +17,17 @@
 
 FROM openjdk:17-slim-buster
 
-ARG VERSION
-
 MAINTAINER Apache HertzBeat "[email protected]"
 
 # Install SSH
 RUN apt-get update && apt-get install -y openssh-server 
 RUN mkdir /var/run/sshd
 
-ADD apache-hertzbeat-collector-${VERSION}-incubating-bin.tar.gz /opt/
+ADD apache-hertzbeat-collector-*-incubating-bin.tar.gz /opt/
 
 ENV TZ=Asia/Shanghai
 ENV LANG=en_US.UTF-8
 
-WORKDIR /opt/apache-hertzbeat-collector-${VERSION}-incubating-bin/
+WORKDIR /opt/apache-hertzbeat-collector-*-incubating-bin/
 
 ENTRYPOINT ["./bin/entrypoint.sh"]
diff --git a/script/docker/collector/build.sh b/script/docker/collector/build.sh
index d5a4515a5..9bef73f59 100644
--- a/script/docker/collector/build.sh
+++ b/script/docker/collector/build.sh
@@ -31,20 +31,20 @@ fi
 # docker compile context
 CONTEXT_DIR=`pwd`
 
-COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
apache/hertzbeat-collector:v$VERSION -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR 
--build-arg VERSION="$VERSION" --push"
+COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
apache/hertzbeat-collector:v$VERSION -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR  
--push"
 
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
apache/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR 
--build-arg VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
apache/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR  
--push"
 
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
quay.io/tancloud/hertzbeat-collector:v$VERSION -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR --build-arg VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
quay.io/tancloud/hertzbeat-collector:v$VERSION -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR  --push"
 
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
quay.io/tancloud/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR --build-arg VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
quay.io/tancloud/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR  --push"
 
 # Build Local
 
-#COMMAND="docker build -t apache/hertzbeat-collector:latest -f 
$CURRENT_DIR/Dockerfile $CONTEXT_DIR --build-arg VERSION="$VERSION""
+#COMMAND="docker build -t apache/hertzbeat-collector:latest -f 
$CURRENT_DIR/Dockerfile $CONTEXT_DIR "
 
 echo "$COMMAND"
 
 $COMMAND
 
-#docker build -t apache/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR --build-arg VERSION="$VERSION"
+#docker build -t apache/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR 
diff --git a/script/docker/server/Dockerfile b/script/docker/server/Dockerfile
index 8d04a3ff8..d8137f367 100644
--- a/script/docker/server/Dockerfile
+++ b/script/docker/server/Dockerfile
@@ -17,9 +17,6 @@
 
 FROM openjdk:17-slim-buster
 
-# add args version
-ARG VERSION
-
 MAINTAINER Apache HertzBeat "[email protected]"
 
 # Install SSH And Locales
@@ -29,12 +26,12 @@ RUN mkdir /var/run/sshd
 RUN localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
 RUN localedef -c -f UTF-8 -i en_US en_US.UTF-8
 
-ADD apache-hertzbeat-${VERSION}-incubating-bin.tar.gz /opt/
-
 ENV TZ=Asia/Shanghai
 ENV LANG=en_US.UTF-8
 
-RUN mv /opt/apache-hertzbeat-${VERSION}-incubating-bin /opt/hertzbeat
+ADD apache-hertzbeat-1.*-incubating-bin.tar.gz /opt/
+
+RUN mv /opt/apache-hertzbeat-*-incubating-bin /opt/hertzbeat
 
 EXPOSE 1157 1158 22
 
diff --git a/script/docker/server/build.sh b/script/docker/server/build.sh
index 2a71872ae..842b8eeb7 100755
--- a/script/docker/server/build.sh
+++ b/script/docker/server/build.sh
@@ -24,29 +24,29 @@ cd ../../../dist
 # auto detect hertzbeat version
 VERSION=`ls apache-hertzbeat-*-incubating-docker-compose.tar.gz| awk -F"-" 
'{print $3}'`
 
-# when env IMAGE_VERSION is set, use it as version 
-if [ -n "$IMAGE_VERSION" ]; then
-    VERSION="$IMAGE_VERSION";
-fi
-
 # compile context dir
 CONTEXT_DIR=`pwd`
 
-COMMAND="docker buildx build --platform 
${IMAGE_PLATFORM:-linux/arm64,linux/amd64} -t apache/hertzbeat:v$VERSION -f 
$CURRENT_DIR/Dockerfile $CONTEXT_DIR --build-arg VERSION="$VERSION" 
--push=${IMAGE_PUSH:-true} --load=${IMAGE_LOAD:-false}"
+COMMAND="docker buildx build --platform 
${IMAGE_PLATFORM:-linux/arm64,linux/amd64} -t apache/hertzbeat:v$VERSION -f 
$CURRENT_DIR/Dockerfile $CONTEXT_DIR  --push=${IMAGE_PUSH:-true} 
--load=${IMAGE_LOAD:-false}"
 
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
apache/hertzbeat:latest -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR --build-arg 
VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
apache/hertzbeat:latest -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR  --push"
 
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
quay.io/tancloud/hertzbeat:v$VERSION -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR 
--build-arg VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
quay.io/tancloud/hertzbeat:v$VERSION -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR  
--push"
 
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
quay.io/tancloud/hertzbeat:latest -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR 
--build-arg VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t 
quay.io/tancloud/hertzbeat:latest -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR  
--push"
 
 # Build Local
 
-#COMMAND="docker build -t apache/hertzbeat:latest -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR --build-arg VERSION="$VERSION""
+#COMMAND="docker build -t apache/hertzbeat:latest -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR "
+
+echo "$COMMAND"
+
+$COMMAND
+
+COMMAND="docker tag apache/hertzbeat:v$VERSION 
apache/hertzbeat:${IMAGE_VERSION:-latest}"
 
 echo "$COMMAND"
 
 $COMMAND
-docker tag apache/hertzbeat:v$VERSION apache/hertzbeat
 
-#docker build -t apache/hertzbeat:latest -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR --build-arg VERSION="$VERSION"
+#docker build -t apache/hertzbeat:latest -f $CURRENT_DIR/Dockerfile 
$CONTEXT_DIR 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to