diff options
| author | KubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com> | 2022-03-04 09:49:10 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-04 09:49:10 +0800 |
| commit | f6b6118b0f802d8a359187fab54137d1c2dc8349 (patch) | |
| tree | 4600eef3e9cb22fb57626ab8e28284d9f76f5c38 /build | |
| parent | Merge pull request #3540 from zhu733756/keadm-init-beta (diff) | |
| parent | update build-tools to support arm arch (diff) | |
| download | kubeedge-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.dockerfile | 14 | ||||
| -rw-r--r-- | build/docker/build-tools/build-tools.dockerfile | 22 | ||||
| -rwxr-xr-x | build/docker/build-tools/make-build-tools.sh | 37 | ||||
| -rw-r--r-- | build/docker/installation-package/installation-package.dockerfile (renamed from build/docker/installation-package.dockerfile) | 0 | ||||
| -rwxr-xr-x | build/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 |
