提示:文章写摘要:本文深入探讨华为云流水线,详细介绍其概念、特点、操作步骤以及在不同场景下的应用,帮助读者全面了解并掌握如何利用华为云流水线提升软件开发与部署的效率。完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、引言
随着软件开发行业的快速发展,高效的构建与部署流程成为企业竞争力的关键因素。华为云流水线作为一款强大的自动化工具,能够极大地简化和加速软件开发周期,从代码提交到最终产品上线,实现全流程的自动化管理。
二、华为云流水线概述
(一)什么是华为云流水线
华为云流水线是华为云提供的一种持续集成和持续交付(CI/CD)服务,它允许开发者定义一系列的任务和流程,将代码构建、测试、部署等环节自动化串联起来,确保软件的快速迭代和高质量交付。
(二)关键特性
可视化编排:通过直观的图形界面,用户可以轻松拖拽和连接各种任务节点,构建复杂的流水线流程,无需编写大量脚本。
多语言支持:支持多种主流编程语言和开发框架,如 Java、Python、Node.js 等,满足不同项目的需求。
高度可定制:可以根据项目的具体要求,灵活配置每个任务的参数和执行条件,实现个性化的流水线。
实时监控与反馈:提供实时的流水线执行状态监控,及时反馈任务执行结果,方便开发者快速定位和解决问题。
三、华为云流水线搭建(划重点,考试要考)。
(一)流水线源创建
(1)登录华为云首页项目里,进入当前项目
(2)我们在当前项目里面可以看到流水线侧栏,点击侧栏进入当前页面新建流水线
(3)大家可以看到当前页面,会选择代码的来源,因为我们的代码放在当前华为云Repo(左侧第一个箭头)所有我们主要讲解华为云代码仓,在这也给其他代码仓地址的朋友简单说一下,其他仓我们可以选择对应的地址,新建服务扩展点,输入我们的URL和用户名密码新建扩展点
(4)现在回到我们主角的Repo华为云代码仓,当前页面给流水线起个名字,选择代码仓和分支点击下一步(其他通用仓步骤一致)
(5)当前页面我们可以看到流水线模板,我们选择空白模板确定,然后就可以看到我们的一个模板雏形,设置一下参数,参数一般用作我们执行流水线时输入的版本号等,在这我定义了两个参数version和Time,一个用作执行的版本一个作为打包的时间戳,设置好默认值,右侧按钮则是设置运行时是否强制传递参数,大家可以设置一些必选参数(自行设置)
(二)设置Check代码检查
(1)这一步是华为云流水线的配套任务步骤是对我们的代码进行一个分析,看代码中有无致命BUG,点击上导航栏的基本信息回到我们的模板主页,在阶段一点击新建任务搜索Check代码检查添加任务
(2)选择调度任务一般要进行创建,两个地方,一个直接点击创建,另一个在开始的导航栏左侧代码检查创建(一样的)。进入新建任务页面,选择我们的代码仓地址和分支并起个名字(跟上面新建流水线源一样代码仓在华为云的直接选择对应要检查的代码分支,不在华为云按上面步骤),检查语言我们就可以选择代码所属语言,然后点击确定。
(3)可以看到我们已经创建好一个代码检查的任务,首次创建我们可以预先执行一下保证检查通过不会影响后续流水线执行步骤(第一次执行)🙂点击执行等他显示绿色通过我们就可以了。
(三)Build构建
(1)在阶段三中添加Build构建任务创建调用任务,在创建页面输入我们的基本信息,Build一般就是对我们要发布的代码进行集成构建,所以要选择我们对于的代码地址,模拟我们选择对应的语言,在这我选择的是.Net 开发的MSBuild。
(2)来到我们的构建任务首先设置对应的参数(这里的参数是构建的参数不同于流水线参数,用于流水线哥哥阶段必要参数的传递),喜欢代码化的可以去写入对应的命令,我们这里选择图形化,前两个配置没有特殊要求按默认来。
(3)MsBuild构建选择自己对应的版本,紧接着就是powershell命令这一步是把我们的发布项目构构建打包好法伤华为云制品仓库,自己根据项目来设置powershell命令,为了给不懂的小伙伴借鉴,我这里解读一下我的代码:
- 禁用和重新添加 NuGet 源,确保项目使用的是正确的 NuGet 源,避免因源配置错误导致依赖恢复失败。
nuget sources Disable -Name 'nuget.org'
nuget sources add -Name 'nuget.org' -Source 'https://api.nuget.org/v3/index.json'
- 恢复项目依赖,确保项目中所有依赖的 NuGet 包都已下载并配置正确。
nuget restore
- 切换到项目目录 Auto.CEP.Web。
cd ./Auto.CEP.Web
- 查看 MSBuild 帮助,了解 MSBuild 的使用方法和参数。
MSBuild -help
- 构建项目,/p:Configuration=SIT:设置构建配置为 SIT(System Integration Test,系统集成测试)。
/p:OutputPath=…/buildResult/SIT/bin:指定输出路径为 …/buildResult/SIT/bin。
msbuild Auto.CEP.Web.csproj /p:Configuration=SIT /p:OutputPath=../buildResult/SIT/bin
- 返回项目根目录
cd ../
- 打包输出文件,将构建输出文件打包为 Mes.zip。
powershell -Command Compress-Archive -Path ./buildResult/SIT/bin/* -DestinationPath ./Mes.zip
(4)上传软件包到软件发布库这里构建包路径就写上一步zip的名称,发布版本号是${version}
占位符 ,然后单击保存并执行,version输入自己的版本号我输入的是25.04.11.01 是根据当前日期输入的版本号。在编译构建找的刚执行的任务当显示率则为执行成功,然后我们到到软件发布库就可以找到一个与我们构建任务同名的文件夹,打包好的文件就在当前版本号文件夹下。
(5)然后回到我们创建流水线模板页面,把我们刚才创建可用的构建任务勾选上,因为我设置的version参数为必传参数,同样我们的构建步骤也需要输入${version}
占位符,点击确定按钮Build构建这一步完成。
(四)Deploy部署
(1)创建Deploy部署,设置好名称下一步,模板根据项目来我们选择的是NET。
(2)模板里面关键的一步先拿的刚才打好的包,并连接到服务器上上传包源(我们的项目在阿里云ECS在德国的实例上通过IIS发布的站点),以下是命令的解析:
构建的制品文件夹地址
/huawei77511403/${Version}/Mes.zip
这个是将压缩包下载到到我们服务器的文件夹中(根据自己项目来)
D:/AppPackage/${Project}/${Time}/
新建我们的环境选择项目的系统,然后是导入主机,主机集群一般是运维那边帮配置的。需要自己配的话可以根据自己的系统在网上看帖子配置。
以下的步骤多为解压文件、删除特定文件、复制粘贴、执行PowerShell命令等操作,Deploy提供了丰富的组件我们可以在左侧加号添加步骤,根据自己实际情况把项目解压好替换自己原先站点。
(3)Deploy步骤设置好后依旧是把占位符填上,上方执行计划可以选择流水线的触发机制,如果不需要提交代码的时候触发就不用配置,然后保存我们的流水线。
(四)验证流水线
上面的步骤已经创建好一个流水线了,现在我们验证一下流水线是否能够手动执行成功,版本号因为是必填参数所以我们要输入,阶段配置全选然后执行,等待几个步骤全部绿就是执行成功了。