Edge Computing 边缘计算 Build 方法-Docker 容器 配置-立哥开发

#!/bin/bash
# Copyright 2008-2021 Jacky Zong .All rights reserved.
# 在天愿作比翼鸟
# 在地愿为连理枝

export LANG="en_US.UTF-8"
WORKROOT="$(cd $(dirname "$0") && cd ../ && pwd || false)"
export GO111MODULE=on
export GOPROXY=https://goproxy.io
export CGO_ENABLED=0
cd $WORKROOT

function build() {
    OUTPUT=$WORKROOT/output
    rm -rf $OUTPUT && mkdir $OUTPUT

    OUTPUT_BIN=$OUTPUT/bin
    mkdir -p $OUTPUT_BIN

   
    cp $WORKROOT/deployments/otectl $OUTPUT_BIN
    if [ $? -ne 0 ]; then
        exit 1
    fi
    
    # build clustercontroller and cluster shim
    go build -o $OUTPUT_BIN/clustercontroller ./cmd/clustercontroller && \
        go build -o $OUTPUT_BIN/k8s_cluster_shim ./cmd/k8s_cluster_shim && \
        go build -o $OUTPUT_BIN/k3s_cluster_shim ./cmd/k3s_cluster_shim && \
        go build -o $OUTPUT_BIN/ote_controller_manager ./cmd/ote_controller_manager && \
        go build -o $OUTPUT_BIN/ote_edgehub ./cmd/edgehub && \
        go build -o $OUTPUT_BIN/ote_edgecontroller ./cmd/edgecontroller && \
        echo "build done"
}

function build_image() {
    arch=$(uname -m)
    if [[ $arch == "x86_64" ]];then
       arch="amd64"
    elif [[ $arch == "aarch64" ]];then
       arch="arm64"
    else 
       arch="386"
    fi

    export GOOS=linux
    export GOARCH=$arch
    build

    cd $OUTPUT_BIN/
    docker build -f $WORKROOT/build/dockerfile/Dockerfile.ote-cc -t ote-cc:latest .
    docker build -f $WORKROOT/build/dockerfile/Dockerfile.ote-cm -t ote-cm:latest .
    docker build -f $WORKROOT/build/dockerfile/Dockerfile.ote-shim -t ote-shim:latest .
    docker build -f $WORKROOT/build/dockerfile/Dockerfile.edge-controller -t edge-controller:latest .
    echo "build image done"
}

function test() {
    #go list ./pkg/... | grep -v "pkg/generated" | grep -v "pkg/apis" | xargs -n1 go test -cover
    go test ./pkg/... -coverprofile cover.out
    totalcover=`go tool cover -func cover.out | grep total | awk '{print $3}'`
    rm cover.out
    echo "total coverage: $totalcover"
}

function usage() {
    echo >&2 "Usage:"
    echo >&2 "  $0 build"
    echo >&2 "  $0 test"
    exit 1
}

cmd="${1:-}"
if [[ ! $cmd ]]; then
    usage
fi
shift

case "${cmd}" in
    build)
        build
        ;;
    build-image)
        build_image
        ;;
    test)
        test
        ;;
    *)
        usage
        ;;
esac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值