AspNetCore&云效Flow持续集成

目录

如今有了越来越多的持续集成工具,给的个人开发者的福利也是很足了,如无必要,自建工具有时只是作为练手了。

众多持续集成工具

现在可用的持续集成工具繁多,各大云服务商都推出了持续集成,甚至是一定条件内都是免费使用。

  • 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 分钟/月。人数不限!

224355732_7c561238-200b-41b1-a2f6-d3168efb1930

云效的功能

云效DevOps中提供了如下功能可以使用,其中可根据实际开发中所用到的工具去比对选择。

224357139_c8ed18e6-e0f4-45f0-a24a-96e52c2965e7 此处,我只想白嫖流水线用于持续集成构建Docker镜像。对于Docker镜像的存储,阿里云提供了容器镜像服务(其本身也具备镜像构建功能,但受限)。对于个人开发者练手或是小微企业存储镜像应该算满足了。

224358417_da40c410-5629-4d33-971d-9803402c2836 对于代码的存储,可以选择云效 DevOps的代码管理(CodeUp)或是其他平台,这不影响流水线功能。

224400180_1cb25c0c-c63f-4cf0-b62d-ee69342858f3 如此,简单的持续集成流程需要的功能算是齐全了。

224401626_d698e06e-50db-40cb-8f64-14733f66954a

项目设置

账号注册、申请这类就不提了,具体就是如何来快速完成一个持续集成流程的配置。

1、首先在代码仓库中新建项目,对于代码仓库的选择随意,我更倾向于使用 Gitee,当然也可直接使用云效提供的代码仓库。此处新建了一个仓库方便对照: https://gitee.com/530521314/Partner.TreasureChest/tree/master/Flow.Standard

2、新建 AspNetCore WebApi项目并增加 Dockerfile、gitignore文件,整理成常用的目录形式。

224402921_b08b7c78-c12c-4646-9bfb-36cf9717c063

容器镜像服务设置

1、创建命名空间(3个命名空间共存300个镜像仓库)

224404156_f7bef5e8-a08d-432b-99f2-af0b8f47a598 2、创建镜像仓库,选择对应的命名空间,填写仓库信息。(镜像仓库下存放具体的镜像)

224405968_bf1e71e4-abb4-4560-aaa1-05e194f679e4 3、下一步中选择本地仓库后创建即可。

224407307_958f3b4b-0f79-45b5-ba99-3a4a850ef356 4、创建完毕会引导到该仓库下,当流水线跑完后选择镜像版本查看构建完的镜像。

224408555_99c39df3-450f-473c-bbb0-80bf1ad2e220

云效流水线配置

开始使用流水线

新建流水线,可以按照语言类别选择,此处我使用空模板。

224409948_9e109ef4-1f20-437a-8ecf-396334b6942e

设置流水线源步骤

页面跳转后会提示选择代码源,此处我使用Gitee中的仓库,选择分支,添加即可。

224411528_78a90eba-8689-4bc7-964f-1ae150b65875

增加镜像构建步骤

1、点击空任务更改其为镜像构建(或是其他名字)

224413040_e03cb5d2-b155-41b8-a297-df2e23efb896 2、添加任务步骤,此处可供选择的步骤很多,当前使用构建并推送到镜像仓库个人版

224414530_59c9a1df-c728-4690-9957-bb5cc8f3fa8c 3、选择完毕会提示填写镜像仓库地址,该地址为上一步中的容器镜像服务地址,选择地域,镜像仓库。

224416002_59055bbb-10f3-47f2-9c0a-8adcea893faf 4、配置目标镜像版本,默认是用日期作为镜像的标签。

224417444_e87b4598-883d-4b94-bcb5-abfcc3ae7b5e 5、设置Dockerfile所在位置,此处Dockerfile是代码仓库中存储位置,如果是纯一个项目一个仓库,那就把"Flow.Standard/“这节删掉。

224419236_19c091d6-ec9d-46f6-861d-62e972f51196 6、直接保存运行即可,便会开始构建

224420572_82d41f63-011a-41c0-a3fe-5b5fd4d34e52

查看构建完毕的镜像

可在容器镜像仓库中查看构建好的镜像,至于镜像的部署,则不再叙述。

224422086_fd90ca15-4788-4ed4-84ae-1fcaad5a7d0f

不止于此

流水线的用法上很简单,还提供了很多的功能,各种通知、测试构建、直接部署等都打通了,集成度很高,很是强大。云效本身提供了很多的集成产品,我们可以使用其中几项,又可以整个基于云效去开展项目建设。对于个人开发者或是小微企业来说,感觉是相当大的福利了(当下而言)。

2022-06-25,望技术有成后能回来看见自己的脚步