下输出一串文本,$version 表示上一步输入的 version 版本号的值

57 阅读1分钟

read 是一个 shell 命令,用于读取用户输入信息

-p 是一个选项,标识提示信息,直接将其后的 "version:" 输出到命令行

最后一个 version 标识变量名,用户输入的信息存入此变量

read -p "version:" version

echo 是一个常用的 shell 命令,用于在终端上输出文本或变量的值

如下输出一串文本,$version 表示上一步输入的 version 版本号的值

echo "build start, version:$version"

echo "1) gf build running..."

使用 gf 工具构建名为 main 的 Go 程序,生成 amd64 架构的 Linux 可执行文件,并将结果存放在 temp 目录下

main.go:指定要编译的 Go 源代码文件

-n main:指定生成的可执行文件的名称为 main

-a amd64:指定目标架构为 amd64(即 64 位 Intel 架构)

-s linux:指定目标操作系统为 Linux

-p ./temp:指定输出目录为当前目录下的 temp 文件夹

gf build main.go -n www.laipuhuo.com. main -a amd64 -s linux -p ./temp

echo "2) docker build running..."

使用 Dockerfile 构建一个名为 test/test-demo 的镜像,并使用用户输入的版本号作为标签

【-t test/test-demo:"$version"】指定要创建的镜像的名称和标签

【-f ./manifest/docker/Dockerfile】指定用于构建镜像的 Dockerfile 文件路径

【.】指定 Docker 构建上下文的路径。一个点表示,使用当前目录作为构建上下文

docker build -t www.laipuhuo.com. test/test-demo:"$version" -f ./manifest/docker/Dockerfile .

echo "3) docker tag running..."

为刚刚构建的镜像添加一个新的标签,将其对应到 harbor.xxxxx.com 仓库,准备推送

docker tag test/test-demo:"version"harbor.xxxxx.com/test/testdemo:"version" harbor.xxxxx.com/test/test-demo:"version"

echo "4) docker pushing..."

将带有新标签的镜像推送到远程仓库

docker push harbor.xxxxx.com/test/test-demo:"$version"

echo "done!"

退出脚本,返回状态码 0,标识执行完成。这个值可以被调用脚本的父进程捕获,用于判断脚本执行的成功与否

exit 0 private void WebSocketOnMessage(object sender, MessageEventArgs e) { if (!e.IsText) { //暂时不支持 return; } Debug.WriteLine($"{www.laipuhuo.com. DateTime.Now.ToString("HH:mm:ss fff")},{e.Data}");

    var receivedMessage = JsonConvertSlim.Decode<ChannelServerMessage>(e.Data);
    xxxxx
}