summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2022-03-04 09:49:10 +0800
committerGitHub <noreply@github.com>2022-03-04 09:49:10 +0800
commitf6b6118b0f802d8a359187fab54137d1c2dc8349 (patch)
tree4600eef3e9cb22fb57626ab8e28284d9f76f5c38 /build
parentMerge pull request #3540 from zhu733756/keadm-init-beta (diff)
parentupdate build-tools to support arm arch (diff)
downloadkubeedge-f6b6118b0f802d8a359187fab54137d1c2dc8349.tar.gz
Merge pull request #3626 from fisherxu/bt-srm
Update build-tools to support arm arch
Diffstat (limited to 'build')
-rw-r--r--build/docker/build-tools.dockerfile14
-rw-r--r--build/docker/build-tools/build-tools.dockerfile22
-rwxr-xr-xbuild/docker/build-tools/make-build-tools.sh37
-rw-r--r--build/docker/installation-package/installation-package.dockerfile (renamed from build/docker/installation-package.dockerfile)0
-rwxr-xr-xbuild/docker/installation-package/installation-package.sh (renamed from build/docker/installation-package.sh)0
5 files changed, 59 insertions, 14 deletions
diff --git a/build/docker/build-tools.dockerfile b/build/docker/build-tools.dockerfile
deleted file mode 100644
index 8fb8fd07c..000000000
--- a/build/docker/build-tools.dockerfile
+++ /dev/null
@@ -1,14 +0,0 @@
-# As a basic image for building various components of KubeEdge
-FROM ubuntu:18.04
-RUN apt-get update && apt-get install -y wget \
- vim git make gcc \
- upx-ucl gcc-aarch64-linux-gnu libc6-dev-arm64-cross gcc-arm-linux-gnueabi libc6-dev-armel-cross &&\
- apt-get autoremove -y &&\
- apt-get clean &&\
- rm -rf /var/lib/apt/lists/*
-RUN wget -c https://dl.google.com/go/go1.17.linux-amd64.tar.gz -O - | tar -xz -C /usr/local
-ENV GO111MODULE=on
-ENV GOPROXY=https://goproxy.io,direct
-ENV GOROOT=/usr/local/go
-ENV GOPATH=/go
-ENV PATH=$PATH:$GOROOT/bin:$GOPATH/bin
diff --git a/build/docker/build-tools/build-tools.dockerfile b/build/docker/build-tools/build-tools.dockerfile
new file mode 100644
index 000000000..0d02c9207
--- /dev/null
+++ b/build/docker/build-tools/build-tools.dockerfile
@@ -0,0 +1,22 @@
+# As a basic image for building various components of KubeEdge
+FROM ubuntu:18.04
+ARG ARCH=amd64
+RUN apt-get update && apt-get install -y wget \
+ vim git make gcc upx-ucl
+
+RUN if [ "${ARCH}" = "amd64" ]; then apt-get install -y gcc-aarch64-linux-gnu libc6-dev-arm64-cross gcc-arm-linux-gnueabi libc6-dev-armel-cross ; fi
+
+RUN apt-get autoremove -y &&\
+ apt-get clean &&\
+ rm -rf /var/lib/apt/lists/*
+
+RUN if [ "${ARCH}" = "amd64" ]; then wget -c https://dl.google.com/go/go1.17.linux-amd64.tar.gz -O - | tar -xz -C /usr/local; \
+ elif [ "${ARCH}" = "arm64" ]; then wget -c https://dl.google.com/go/go1.17.linux-arm64.tar.gz -O - | tar -xz -C /usr/local; \
+ elif [ "${ARCH}" = "arm" ]; then wget -c https://dl.google.com/go/go1.17.linux-armv6l.tar.gz -O - | tar -xz -C /usr/local; \
+ fi
+
+ENV GO111MODULE=on
+ENV GOPROXY=https://goproxy.io,direct
+ENV GOROOT=/usr/local/go
+ENV GOPATH=/go
+ENV PATH=$PATH:$GOROOT/bin:$GOPATH/bin
diff --git a/build/docker/build-tools/make-build-tools.sh b/build/docker/build-tools/make-build-tools.sh
new file mode 100755
index 000000000..e721e04a7
--- /dev/null
+++ b/build/docker/build-tools/make-build-tools.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+set -e
+
+REPOSITORY=${REPOSITORY:-"kubeedge/build-tools"}
+WORK_DIR=$(cd "$(dirname "$0")";pwd)
+PUSH_TAG=${1}
+ARCHS=(amd64 arm64 arm)
+
+for arch in "${ARCHS[@]}" ; do
+ REPOSITORY_ARCH="$REPOSITORY"-"$arch"
+ if [ "$arch" = "amd64" ]; then
+ REPOSITORY_ARCH="$REPOSITORY"
+ fi
+ docker buildx build --build-arg ARCH="$arch" --platform "$arch" -t "$REPOSITORY_ARCH":latest -f "$WORK_DIR/build-tools.dockerfile" -o type=docker .
+done
+
+if [ "$PUSH_TAG" = 'push' ]; then
+ echo "push edgecore image"
+ manifestCreateCmd="docker manifest create --amend $REPOSITORY:latest"
+ for arch in "${ARCHS[@]}" ; do
+ REPOSITORY_ARCH="$REPOSITORY"-"$arch"
+ if [ "$arch" = "amd64" ]; then
+ REPOSITORY_ARCH="$REPOSITORY"
+ fi
+ docker push "$REPOSITORY_ARCH":latest
+ manifestCreateCmd="$manifestCreateCmd $REPOSITORY_ARCH:latest"
+ done
+
+ echo "package image manifest and push"
+ echo "command: $manifestCreateCmd"
+ doCreate="$($manifestCreateCmd)"
+ echo "$doCreate"
+ docker manifest push "$REPOSITORY":latest
+else
+ echo "image save in local"
+fi
diff --git a/build/docker/installation-package.dockerfile b/build/docker/installation-package/installation-package.dockerfile
index a7c59b538..a7c59b538 100644
--- a/build/docker/installation-package.dockerfile
+++ b/build/docker/installation-package/installation-package.dockerfile
diff --git a/build/docker/installation-package.sh b/build/docker/installation-package/installation-package.sh
index 96326f014..96326f014 100755
--- a/build/docker/installation-package.sh
+++ b/build/docker/installation-package/installation-package.sh