go 代码添加变量

放到 util/version.go

package util

var (
        GitBranch string
        GitCommit string
        BuildTime string
)

上传脚本

#!/bin/bash


mod_name=""
branch=$(git rev-parse --abbrev-ref HEAD)
commit=$(git rev-parse HEAD)
time=$(date +"%Y-%m-%d %H:%m:%S")
ver=${branch}

GO_LDFLAGS="-X /util.GitBranch=${branch} -X '/util.BuildTime=${time}' -X /util.GitCommit=${commit}"

echo "Build"
mkdir -p /tmp/linux /tmp/macos_amd64 /tmp/macos_arm64
GOOS=linux GOARCH=amd64 go build -ldflags "${GO_LDFLAGS}" -o /tmp/linux/ebscli ./
#GOOS=darwin GOARCH=amd64 go build -ldflags "${GO_LDFLAGS}" -o /tmp/macos_amd64/ebscli ./
#GOOS=darwin GOARCH=arm64 go build -ldflags "${GO_LDFLAGS}" -o /tmp/macos_arm64/ebscli ./

echo "Upload binary to OSS"


echo "Upload finished"

安装脚本

#!/bin/bash

# 设置下载链接的基础部分
BASE_URL="http://xxx/$1"
USE_SUDO="0"

# 获取操作系统和架构
OS=$(uname -s)
ARCH=$(uname -m)

if [ "X$1" == "X" ]; then
        echo "You must set version like "
        exit 1
fi

echo "Get version:$1, os:$OS, arch:$ARCH"

# 根据操作系统和架构选择下载链接
if [ "$OS" = "Linux" ]; then
        DOWNLOAD_URL="${BASE_URL}/linux/ebscli"
elif [ "$OS" = "Darwin" ]; then
        if [ "$ARCH" = "x86_64" ]; then
                DOWNLOAD_URL="${BASE_URL}/macos_amd64/ebscli"
        elif [ "$ARCH" = "arm64" ]; then
                USE_SUDO="1"
                DOWNLOAD_URL="${BASE_URL}/macos_arm64/ebscli"
        else
                echo "Unsupported architecture: $ARCH"
                exit 1
        fi
else
        echo "Unsupported operating system: $OS"
        exit 1
fi

# 下载软件
echo "Downloading software from $DOWNLOAD_URL"
rm -rf /tmp/ebscli
wget -O /tmp/ebscli $DOWNLOAD_URL

if [ $USE_SUDO = "1" ]; then
        sudo cp -f /tmp/ebscli /usr/local/bin/
        sudo chmod +x /usr/local/bin/ebscli
else
        cp -f /tmp/ebscli /usr/local/bin/
        chmod +x /usr/local/bin/ebscli
fi