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

云效的功能
云效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,望技术有成后能回来看见自己的脚步
AspNetCore&云效Flow持续集成的更多相关文章
- 如何通过云效Flow完成自动化部署—主机部署
如何通过云效Flow完成自动化部署-主机部署,云效流水线Flow是持续交付的载体,通过构建自动化.集成自动化.验证自动化.部署自动化,完成从开发到上线过程的持续交付.通过持续向团队提供及时反馈,让交付 ...
- 如何使用云效Flow做质量检测,保障高质量的交付速度
使用云效Flow做质量检测,保障高质量的交付速度,云效「Flow」 提供代码扫描. 安全扫描和各种自动化测试能力,支持人工测试卡点.自动化验证卡点等多种质量红线,确保业务质量.云效流水线 Flow 流 ...
- 如何通过云效Flow完成自动化构建—构建集群
如何通过云效Flow完成自动化构建-构建集群,云效流水线Flow是持续交付的载体,通过构建自动化.集成自动化.验证自动化.部署自动化,完成从开发到上线过程的持续交付.通过持续向团队提供及时反馈,让交付 ...
- 视频云SDK iOS持续集成项目实践
1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...
- 云效Flow如何实现阿里云ECS多环境发布
一.背景 云效Flow基于标签功能实现阿里云ECS多环境发布,在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开发环境.测试团队的测试环境.还有类生产环境和生产环境 ...
- 拥抱自动化,CODING 2.0 持续集成全新上线
在文章开始前,做一个小调查,在您的软件项目中集成一行新代码平均需要花多长时间? 15 分钟 一小时 半天 一天及以上 注意这里的集成是指将源码放在一起,并验证源码可以作为一个一致.运行可靠的软件的过程 ...
- 云效x钉钉:让研发工作更简单
云效x钉钉:让研发工作更简单,奔走相告,云效&钉钉集成实现组织架构.成员同步以及消息通知啦! 我们知道云效致力于智能化.安全可追溯.高效.简单.灵活,「云效新一代企业级DevOps平台」阿里云 ...
- 什么是云效持续集成?如何关联Jenkins进行持续集成?
什么是云效持续集成?如何关联Jenkins进行持续集成?云效流水线 Flow是一款企业级.自动化的研发交付流水线, 提供灵活易用的持续集成.持续验证. 持续发布功能,帮助企业高质量.高效率的交付业务. ...
- AspNetCore&Coding持续集成
对于现有很多持续集成工具来讲,功能越来越高级,使用了 Coding 有大半年时间,越发觉好用,特别是没钱续费服务器时,找到了新的羊毛. 一.众多持续集成工具 现在可用的持续集成工具繁多,各大云服务商都 ...
随机推荐
- C++篇:第八章_类_知识点大全
C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 八.类 (一)类的概念与规则 "子类"和"子类型& ...
- 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)
本文目录: 一.数据流向 二.应用示例 三.何为数仓DW 四.为何要分层 五.数据分层 六.数据集市 七.问题总结 导读 数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需 ...
- Net程序崩溃了怎么去查找定位问题
工具 这里用到两个工具分别为Procdump+Windbg Procdump:ProcDump是一个命令行实用工具,主要目的是监视应用程序,以便在管理员或开发人员可用于确定峰值的原因期间监视 CPU ...
- 2021.12.06 P2511 [HAOI2008]木棍分割(动态规划)
2021.12.06 P2511 [HAOI2008]木棍分割(动态规划) https://www.luogu.com.cn/problem/P2511 题意: 有n根木棍, 第i根木棍的长度为 \( ...
- docker入门_docker安装
docker入门_docker安装 ubuntu 安装 curl -sSL https://get.daocloud.io/docker | sh # 官方安装脚本自动安装 systemctl ena ...
- Python学习笔记: 用pprint更漂亮的打印数据
pprint是一个标准库,它提供了pprint()函数 ,用来打印复杂数据时更漂亮 >>> from pprint import pprint >>> data = ...
- spring boot的配置文件
1.SpringBootApplication是标志启动类,启动后可以把这个类所在的包资源发布到服务器,不用再启动tomcat 2.利用spring boot工程可以和以前一样直接在Controlll ...
- Bugku CTF练习题---加密---ok
Bugku CTF练习题---加密---ok flag:flag{ok-ctf-1234-admin} 解题步骤: 1.观察题目,发现规律 2.发现所有内容都是ook写的, 直接上网搜索一下原因,发现 ...
- [AcWIng 799] 最长连续不重复子序列
点击查看代码 #include<iostream> using namespace std; const int N = 1e5 + 10; int a[N], s[N]; int mai ...
- Blazor和Vue对比学习(基础1.6):祖孙传值,联级和注入
前面章节,我们实现了父子组件之间的数据传递.大多数时候,我们以组件形式来构建页面的区块,会涉及到组件嵌套的问题,一层套一层.这种情况,很大概率需要将祖先的数据,传递给子孙后代去使用.我们当然可以使用父 ...