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

gongchao pushed a commit to branch nightly-build
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git

commit 210cdb5486fa7f2673fb9d1e528f93376d942e8c
Author: tomsun28 <[email protected]>
AuthorDate: Mon Aug 12 22:32:21 2024 +0800

    [infra] support build and push docker image to hub nightly everyday
    
    Signed-off-by: tomsun28 <[email protected]>
---
 .github/workflows/nightly-build.yml | 61 +++++++++++++++++++++++++++++++++++++
 script/docker/server/build.sh       |  7 +++--
 2 files changed, 65 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/nightly-build.yml 
b/.github/workflows/nightly-build.yml
new file mode 100644
index 000000000..0709d2df0
--- /dev/null
+++ b/.github/workflows/nightly-build.yml
@@ -0,0 +1,61 @@
+# 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.
+
+name: Nightly CI
+
+on:
+  schedule:
+    # trigger at 00:00 everyday
+    - cron: '0 0 * * *'
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    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_PLATFORM: linux/amd64
+        $IMAGE_VERSION: nightly
+      run: |
+        docker buildx create --use --name myBuilder --driver docker-container
+        docker buildx use myBuilder
+        
+        ./script/docker/server/build.sh
+
+    - name: Login to Docker Hub
+      uses: docker/login-action@v3
+      with: 
+        username: ${{ secrets.DOCKERHUB_USERNAME }}
+        password: ${{ secrets.DOCKERHUB_TOKEN }}
+        
+    - name: Build and Push
+      uses: docker/build-push-action@v6
+      with:
+        context: .
+        push: true
+        tags: apache/hertzbeat:nightly
diff --git a/script/docker/server/build.sh b/script/docker/server/build.sh
index 658b0f86c..2a71872ae 100755
--- a/script/docker/server/build.sh
+++ b/script/docker/server/build.sh
@@ -23,9 +23,10 @@ CURRENT_DIR=`pwd`
 cd ../../../dist
 # auto detect hertzbeat version
 VERSION=`ls apache-hertzbeat-*-incubating-docker-compose.tar.gz| awk -F"-" 
'{print $3}'`
-# use the version param
-if [ -n "$1" ]; then
-    VERSION="$1";
+
+# when env IMAGE_VERSION is set, use it as version 
+if [ -n "$IMAGE_VERSION" ]; then
+    VERSION="$IMAGE_VERSION";
 fi
 
 # compile context dir


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

Reply via email to