如今有了越来越多的持续集成工具,给的个人开发者的福利也是很足了,如无必要,自建工具有时只是作为练手了。
众多持续集成工具
现在可用的持续集成工具繁多,各大云服务商都推出了持续集成,甚至是一定条件内都是免费使用。
- Azure DevOps 提供每个月1800 分钟的免费时长,支持单项目并行构建,5人以下。
- GitHub推出的GitHub Action 每月2000分钟的构建时长。
- 华为云的 DevCloud 提供的编译构建5并发,每月600分钟,5人以下。
- Gitee 推出了Gitee Go 单个代码仓库均可直接获得200分钟免费构建时长,永久有效! 企业/组织/个人每月1000分钟免费构建时长自动到账。
- 腾讯云与 Coding 合作的Coding DevOps,初期Coding提供5人以下免费,每周200次持续集成次数,每次限时30分钟,并行任务数1个,中间变更到每月1000分钟持续集成时长,再如今七月份后变更到每月300分钟
- 阿里云的云效DevOps 最大并发任务数 6,运行时长 5400 分钟/月。人数不限!
云效的功能
云效DevOps中提供了如下功能可以使用,其中可根据实际开发中所用到的工具去比对选择。
此处,我只想白嫖流水线用于持续集成构建Docker镜像。对于Docker镜像的存储,阿里云提供了容器镜像服务(其本身也具备镜像构建功能,但受限)。对于个人开发者练手或是小微企业存储镜像应该算满足了。
对于代码的存储,可以选择云效 DevOps的代码管理(CodeUp)或是其他平台,这不影响流水线功能。
如此,简单的持续集成流程需要的功能算是齐全了。
项目设置
账号注册、申请这类就不提了,具体就是如何来快速完成一个持续集成流程的配置。
1、首先在代码仓库中新建项目,对于代码仓库的选择随意,我更倾向于使用 Gitee,当然也可直接使用云效提供的代码仓库。此处新建了一个仓库方便对照: https://gitee.com/530521314/Partner.TreasureChest/tree/master/Flow.Standard
2、新建 AspNetCore WebApi项目并增加 Dockerfile、gitignore文件,整理成常用的目录形式。
容器镜像服务设置
1、创建命名空间(3个命名空间共存300个镜像仓库)
2、创建镜像仓库,选择对应的命名空间,填写仓库信息。(镜像仓库下存放具体的镜像)
3、下一步中选择本地仓库后创建即可。
4、创建完毕会引导到该仓库下,当流水线跑完后选择镜像版本查看构建完的镜像。
云效流水线配置
开始使用流水线
新建流水线,可以按照语言类别选择,此处我使用空模板。
设置流水线源步骤
页面跳转后会提示选择代码源,此处我使用Gitee中的仓库,选择分支,添加即可。
增加镜像构建步骤
1、点击空任务更改其为镜像构建(或是其他名字)
2、添加任务步骤,此处可供选择的步骤很多,当前使用构建并推送到镜像仓库个人版
3、选择完毕会提示填写镜像仓库地址,该地址为上一步中的容器镜像服务地址,选择地域,镜像仓库。
4、配置目标镜像版本,默认是用日期作为镜像的标签。
5、设置Dockerfile所在位置,此处Dockerfile是代码仓库中存储位置,如果是纯一个项目一个仓库,那就把"Flow.Standard/"这节删掉。
6、直接保存运行即可,便会开始构建
查看构建完毕的镜像
可在容器镜像仓库中查看构建好的镜像,至于镜像的部署,则不再叙述。
不止于此
流水线的用法上很简单,还提供了很多的功能,各种通知、测试构建、直接部署等都打通了,集成度很高,很是强大。云效本身提供了很多的集成产品,我们可以使用其中几项,又可以整个基于云效去开展项目建设。对于个人开发者或是小微企业来说,感觉是相当大的福利了(当下而言)。
2022-06-25,望技术有成后能回来看见自己的脚步