乐趣区

关于kubernetes:KubeSpace最简流水线之构建

KubeSpace 是一个开源的 DevOps 以及 Kubernetes 多集群治理平台。

Github:https://github.com/kubespace/…

  • DevOps Kubernetes 多集群治理平台 -KubeSpace(零)
  • KubeSpace 之利用治理(一)
  • KubeSpace 之利用商店(二)
  • KubeSpace 最简流水线之构建(三)
  • KubeSpace 最简流水线之部署(四)
  • KubeSpace 最简流水线之公布(五)

筹备

Git 代码仓库

当初咱们有一个很简略的 golang http 服务,代码托管在 Github。

本地启动 golang 服务,端口为 8000:

go run main.go

申请 http://127.0.0.1:8000/current… 返回以后工夫:

curl http://127.0.0.1:8000/current_time
Hello, current time: 2022-05-08 11:11:33.632898 +0800 CST m=+18.871691849

Git 私钥

个别拜访 git 的私钥在本地文件 ~/.ssh/id_rsa 中。若不是该文件,请提前准备好。

代码流水线空间

增加密钥

在 KubeSpace 中的「平台配置」-「密钥治理」中,点击「+ 创立密钥」,增加筹备好的 git 私钥。

增加镜像仓库

在 KubeSpace 中的「平台配置」-「镜像仓库」中,点击「+ 增加仓库」,增加镜像仓库,输出用户明码。

这里,我增加了一个「registry.cn-hangzhou.aliyuncs.com」阿里云的镜像仓库。如果是 docker hub,则增加「docker.io」即可。

创立代码空间

在 KubeSpace 流水线中,点击「+ 创立空间」。

如上,抉择代码类型为「GIT」,输出 git 仓库地址,并抉择刚刚增加的密钥。

点击「确定」,创立代码流水线空间之后,默认会创立两条流水线:分支流水线、骨干流水线。在两条流水线中都默认包含一个「构建代码镜像」的阶段工作,然而在骨干流水线中会多一个「公布」的阶段工作。

构建代码镜像

编辑分支流水线

在流水线列表,点击分支流水线的「编辑」按钮,来配置流水线的阶段工作。

如上,次要包含「根本信息」与「阶段工作」两个局部。

因为以后 go-app 的代码库只有一个 master 分支,所以在阶段工作中的「代码库源」中,须要配置触发分支为所有。默认分支流水线是排除 master 分支的。

而后,须要批改「构建代码镜像」的工作,点击「构建代码镜像」上方的圆圈进行配置。

如上,首先对代码进行编译配置,若不须要编译,则将「编译」勾销即可。

若须要编译,则抉择编译镜像,KubeSpace 默认会自带一些各个语言如 golang、node 等镜像,如不满足,能够在「资源管理」中进行增加。

而后编译形式分为脚本文件与自定义脚本。脚本文件是在代码库中的编译脚本,需指定绝对目录;自定义脚本则在下方的编译脚本中输出编译相干命令即可。

编译实现之后,会对编译后的代码库进行镜像构建。首先须要抉择要推送的镜像仓库,这里抉择咱们刚刚增加的「registry.cn-hangzhou.aliyuncs.com」镜像仓库。

之后输出构建镜像的 Dockerfile 以及镜像名称。留神:镜像名称不须要填写标签,在构建镜像时会主动增加动静标签。

执行流水线

对分支流水线编辑实现之后,就能够对执行构建流水线了。

如上,点击「构建」按钮。

构建分支输出「master」分支,点击「确定」之后,开始执行分支流水线配置的工作。

点击「#1」,能够查看以后执行工作的日志以及阶段信息。

如上,「构建代码镜像」工作执行实现之后,会构建出 go-app 代码镜像,并推送到镜像仓库。

手动降级利用

在流水线构建出代码镜像之后,如上咱们构建出 go-app 的镜像「registry.cn-hangzhou.aliyuncs.com/librrary/go-app:1652021791」。能够在工作空间的利用中,手动对 go-app 的利用进行镜像降级。

如上,咱们将 go-app 利用的标签降级为流水线构建进去的镜像标签。

点击 go-app,能够查看利用的降级过程。

能够看到,以后利用的镜像曾经替换为最新的镜像标签,且有新的 Pod 实例正在创立。

是不是很简略!

OK,出工!

交换沟通

如果您在应用过程中,有任何问题、倡议或性能需要,欢送随时跟咱们交换或提交 issue。

能够在官网扫描 QQ 二维码,退出咱们的 QQ 交换群。

退出移动版