From f2a50c97e656e1f387d38acb7e7430d351d2986b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Wed, 9 Aug 2023 17:10:15 +0800 Subject: [PATCH] fix: auto build docker image (#17740) --- .github/workflows/docker.yml | 233 ------------------------ .github/workflows/docker_apigateway.yml | 54 ++++++ .github/workflows/docker_climc.yml | 54 ++++++ .github/workflows/docker_glance.yml | 55 ++++++ .github/workflows/docker_host.yml | 53 ++++++ .github/workflows/docker_keystone.yml | 55 ++++++ .github/workflows/docker_notify.yml | 55 ++++++ .github/workflows/docker_region.yml | 56 ++++++ .github/workflows/docker_webconsole.yml | 55 ++++++ 9 files changed, 437 insertions(+), 233 deletions(-) delete mode 100644 .github/workflows/docker.yml create mode 100644 .github/workflows/docker_apigateway.yml create mode 100644 .github/workflows/docker_climc.yml create mode 100644 .github/workflows/docker_glance.yml create mode 100644 .github/workflows/docker_host.yml create mode 100644 .github/workflows/docker_keystone.yml create mode 100644 .github/workflows/docker_notify.yml create mode 100644 .github/workflows/docker_region.yml create mode 100644 .github/workflows/docker_webconsole.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index d63385722b..0000000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,233 +0,0 @@ -name: Docker image - -on: - push: - branches: - - master - - releases/* - #paths: - #- 'cmd/*' - #- 'pkg/*' - #- 'vendor/*' - -jobs: - - build: - name: Build - runs-on: ubuntu-latest - steps: - - - name: Set up Go 1.16 - uses: actions/setup-go@v1 - with: - go-version: 1.16 - id: go - - - name: Check out code into the Go module directory - uses: actions/checkout@v1 - - - name: Build - run: | - sudo apt-get update - sudo apt-get install librados-dev librbd-dev # baremetal-agent needs this - make cmd/baremetal-agent && ./scripts/bundle_libraries.sh _output/bin/bundles/baremetal-agent _output/bin/baremetal-agent - make docker-alpine-build F='-j4 cmd/host cmd/vpcagent cmd/region-dns make cmd/apigateway cmd/climc cmd/keystone make cmd/logger cmd/region cmd/scheduler cmd/webconsole make cmd/yunionconf cmd/glance cmd/torrent cmd/s3gateway make cmd/ansibleserver cmd/cloudnet cmd/notify make cmd/host-deployer make cmd/cloudevent cmd/devtool cmd/cloudid make cmd/*cli make cmd/esxi-agent' - - name: Image region - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/region - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.region - - - name: Image host - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/host - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.host - - - name: Image host-deployer - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/host-deployer - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.host-deployer - - - name: Image baremetal-agent - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/baremetal-agent - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.baremetal-agent - - - name: Image esxi-agent - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/esxi-agent - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.esxi-agent - - - name: Image vpcagent - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/vpcagent - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.vpcagent - - - name: Image climc - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/climc - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.climc - - - name: Image keystone - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/keystone - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.keystone - - - name: Image logger - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/logger - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.logger - - - name: Image scheduler - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/scheduler - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.scheduler - - - name: Image apigateway - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/apigateway - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.apigateway - - - name: Image s3gateway - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/s3gateway - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.s3gateway - - - name: Image ansibleserver - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.ansibleserver - - - name: Image cloudnet - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/cloudnet - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.cloudnet - - - name: Image glance - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/glance - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.glance - - - name: Image notify - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/notify - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.notify - - - name: Image cloudevent - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/cloudevent - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.cloudevent - - - name: Image cloudid - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/cloudid - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.cloudid - - - name: Image devtool - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/devtool - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.devtool - - - name: Image region DNS - uses: elgohr/Publish-Docker-Github-Action@master - with: - name: registry.cn-beijing.aliyuncs.com/yunionio/region-dns - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - registry: registry.cn-beijing.aliyuncs.com - snapshot: true - dockerfile: build/docker/Dockerfile.region-dns diff --git a/.github/workflows/docker_apigateway.yml b/.github/workflows/docker_apigateway.yml new file mode 100644 index 0000000000..0bc1a51c28 --- /dev/null +++ b/.github/workflows/docker_apigateway.yml @@ -0,0 +1,54 @@ +name: Apigateway Docker Image + +on: + pull_request: + types: + - closed + branches: + - 'releases/**' + - 'main' + - 'master' + paths: + - 'pkg/apigateway/**.go' + - 'pkg/apis/apigateway/**.go' + - 'pkg/mcclient/modules/**.go' +jobs: + build_apigateway: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 8 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Aliyun Container Registry (ACR) + uses: aliyun/acr-login@v1 + with: + login-server: https://registry.cn-beijing.aliyuncs.com + region-id: cn-beijing + username: "${{ secrets.ACR_USERNAME }}" + password: "${{ secrets.ACR_PASSWORD }}" + + - name: Build And Push Docker Image + shell: bash + run: | + set -o xtrace + export GO111MODULE=on + branch="${GITHUB_REF#refs/heads/}" + timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"` + export VERSION="$branch-$timestamp-solo" + export GOOS=linux + export ARCH=all + export REGISTRY=registry.cn-beijing.aliyuncs.com/yuniondev + make image apigateway diff --git a/.github/workflows/docker_climc.yml b/.github/workflows/docker_climc.yml new file mode 100644 index 0000000000..4bc9cb4da9 --- /dev/null +++ b/.github/workflows/docker_climc.yml @@ -0,0 +1,54 @@ +name: Climc Docker Image + +on: + pull_request: + types: + - closed + branches: + - 'releases/**' + - 'main' + - 'master' + paths: + - 'cmd/climc/**.go' + - 'pkg/mcclient/**.go' + - 'vendor/yunion.io/x/structarg/**.go' +jobs: + build_climc: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 8 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Aliyun Container Registry (ACR) + uses: aliyun/acr-login@v1 + with: + login-server: https://registry.cn-beijing.aliyuncs.com + region-id: cn-beijing + username: "${{ secrets.ACR_USERNAME }}" + password: "${{ secrets.ACR_PASSWORD }}" + + - name: Build And Push Docker Image + shell: bash + run: | + set -o xtrace + export GO111MODULE=on + branch="${GITHUB_REF#refs/heads/}" + timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"` + export VERSION="$branch-$timestamp-solo" + export GOOS=linux + export ARCH=all + export REGISTRY=registry.cn-beijing.aliyuncs.com/yuniondev + make image climc diff --git a/.github/workflows/docker_glance.yml b/.github/workflows/docker_glance.yml new file mode 100644 index 0000000000..5de70c428a --- /dev/null +++ b/.github/workflows/docker_glance.yml @@ -0,0 +1,55 @@ +name: Glance Docker Image + +on: + pull_request: + types: + - closed + branches: + - 'releases/**' + - 'main' + - 'master' + paths: + - 'pkg/image/**.go' + - 'pkg/apis/image/**.go' + - 'vendor/yunion.io/x/sqlchemy/**.go' + - 'vendor/yunion.io/x/jsonutils/**.go' +jobs: + build_glance: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 8 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Aliyun Container Registry (ACR) + uses: aliyun/acr-login@v1 + with: + login-server: https://registry.cn-beijing.aliyuncs.com + region-id: cn-beijing + username: "${{ secrets.ACR_USERNAME }}" + password: "${{ secrets.ACR_PASSWORD }}" + + - name: Build And Push Docker Image + shell: bash + run: | + set -o xtrace + export GO111MODULE=on + branch="${GITHUB_REF#refs/heads/}" + timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"` + export VERSION="$branch-$timestamp-solo" + export GOOS=linux + export ARCH=all + export REGISTRY=registry.cn-beijing.aliyuncs.com/yuniondev + make image glance diff --git a/.github/workflows/docker_host.yml b/.github/workflows/docker_host.yml new file mode 100644 index 0000000000..5260fbd308 --- /dev/null +++ b/.github/workflows/docker_host.yml @@ -0,0 +1,53 @@ +name: Host Docker Image + +on: + pull_request: + types: + - closed + branches: + - 'releases/**' + - 'main' + - 'master' + paths: + - 'pkg/hostman/**.go' + - 'pkg/apis/host/**.go' +jobs: + build_host: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 8 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Aliyun Container Registry (ACR) + uses: aliyun/acr-login@v1 + with: + login-server: https://registry.cn-beijing.aliyuncs.com + region-id: cn-beijing + username: "${{ secrets.ACR_USERNAME }}" + password: "${{ secrets.ACR_PASSWORD }}" + + - name: Build And Push Docker Image + shell: bash + run: | + set -o xtrace + export GO111MODULE=on + branch="${GITHUB_REF#refs/heads/}" + timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"` + export VERSION="$branch-$timestamp-solo" + export GOOS=linux + export ARCH=all + export REGISTRY=registry.cn-beijing.aliyuncs.com/yuniondev + make image host diff --git a/.github/workflows/docker_keystone.yml b/.github/workflows/docker_keystone.yml new file mode 100644 index 0000000000..221e2b5bf6 --- /dev/null +++ b/.github/workflows/docker_keystone.yml @@ -0,0 +1,55 @@ +name: Keystone Docker Image + +on: + pull_request: + types: + - closed + branches: + - 'releases/**' + - 'main' + - 'master' + paths: + - 'pkg/keystone/**.go' + - 'pkg/apis/identity/**.go' + - 'vendor/yunion.io/x/sqlchemy/**.go' + - 'vendor/yunion.io/x/jsonutils/**.go' +jobs: + build_keystone: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 8 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Aliyun Container Registry (ACR) + uses: aliyun/acr-login@v1 + with: + login-server: https://registry.cn-beijing.aliyuncs.com + region-id: cn-beijing + username: "${{ secrets.ACR_USERNAME }}" + password: "${{ secrets.ACR_PASSWORD }}" + + - name: Build And Push Docker Image + shell: bash + run: | + set -o xtrace + export GO111MODULE=on + branch="${GITHUB_REF#refs/heads/}" + timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"` + export VERSION="$branch-$timestamp-solo" + export GOOS=linux + export ARCH=all + export REGISTRY=registry.cn-beijing.aliyuncs.com/yuniondev + make image keystone diff --git a/.github/workflows/docker_notify.yml b/.github/workflows/docker_notify.yml new file mode 100644 index 0000000000..eacc3d5372 --- /dev/null +++ b/.github/workflows/docker_notify.yml @@ -0,0 +1,55 @@ +name: Notify Docker Image + +on: + pull_request: + types: + - closed + branches: + - 'releases/**' + - 'main' + - 'master' + paths: + - 'pkg/notify/**.go' + - 'pkg/apis/notify/**.go' + - 'vendor/yunion.io/x/sqlchemy/**.go' + - 'vendor/yunion.io/x/jsonutils/**.go' +jobs: + build_notify: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 8 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Aliyun Container Registry (ACR) + uses: aliyun/acr-login@v1 + with: + login-server: https://registry.cn-beijing.aliyuncs.com + region-id: cn-beijing + username: "${{ secrets.ACR_USERNAME }}" + password: "${{ secrets.ACR_PASSWORD }}" + + - name: Build And Push Docker Image + shell: bash + run: | + set -o xtrace + export GO111MODULE=on + branch="${GITHUB_REF#refs/heads/}" + timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"` + export VERSION="$branch-$timestamp-solo" + export GOOS=linux + export ARCH=all + export REGISTRY=registry.cn-beijing.aliyuncs.com/yuniondev + make image notify diff --git a/.github/workflows/docker_region.yml b/.github/workflows/docker_region.yml new file mode 100644 index 0000000000..46d63fedf6 --- /dev/null +++ b/.github/workflows/docker_region.yml @@ -0,0 +1,56 @@ +name: Region Docker Image + +on: + pull_request: + types: + - closed + branches: + - 'releases/**' + - 'main' + - 'master' + paths: + - 'pkg/compute/**.go' + - 'pkg/apis/compute/**.go' + - 'vendor/yunion.io/x/cloudmux/**.go' + - 'vendor/yunion.io/x/sqlchemy/**.go' + - 'vendor/yunion.io/x/jsonutils/**.go' +jobs: + build_region: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 8 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Aliyun Container Registry (ACR) + uses: aliyun/acr-login@v1 + with: + login-server: https://registry.cn-beijing.aliyuncs.com + region-id: cn-beijing + username: "${{ secrets.ACR_USERNAME }}" + password: "${{ secrets.ACR_PASSWORD }}" + + - name: Build And Push Docker Image + shell: bash + run: | + set -o xtrace + export GO111MODULE=on + branch="${GITHUB_REF#refs/heads/}" + timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"` + export VERSION="$branch-$timestamp-solo" + export GOOS=linux + export ARCH=all + export REGISTRY=registry.cn-beijing.aliyuncs.com/yuniondev + make image region diff --git a/.github/workflows/docker_webconsole.yml b/.github/workflows/docker_webconsole.yml new file mode 100644 index 0000000000..0ff2afb551 --- /dev/null +++ b/.github/workflows/docker_webconsole.yml @@ -0,0 +1,55 @@ +name: Webconsole Docker Image + +on: + pull_request: + types: + - closed + branches: + - 'releases/**' + - 'main' + - 'master' + paths: + - 'pkg/webconsole/**.go' + - 'pkg/apis/webconsole/**.go' + - 'vendor/yunion.io/x/sqlchemy/**.go' + - 'vendor/yunion.io/x/jsonutils/**.go' +jobs: + build_webconsole: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 8 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Aliyun Container Registry (ACR) + uses: aliyun/acr-login@v1 + with: + login-server: https://registry.cn-beijing.aliyuncs.com + region-id: cn-beijing + username: "${{ secrets.ACR_USERNAME }}" + password: "${{ secrets.ACR_PASSWORD }}" + + - name: Build And Push Docker Image + shell: bash + run: | + set -o xtrace + export GO111MODULE=on + branch="${GITHUB_REF#refs/heads/}" + timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"` + export VERSION="$branch-$timestamp-solo" + export GOOS=linux + export ARCH=all + export REGISTRY=registry.cn-beijing.aliyuncs.com/yuniondev + make image webconsole