本帖的前提是:
- 代码已被推送到代码库
- service connection已经创建完成(我在上一个帖子里讲啦)
现在开始正式干活啦~
- 首先在pipelines里new一个新的pipeline。
- 我没有用yaml文件的部署,而是直接用的经典模式创建。
下一步选择需要发布的代码库
这里因为我是.net的项目选择ASP.NET
- 这里出来的这些任务,都是系统根据我们用的是.net代码的来自动生成的
,需要配置的就是agent pool,这里我是选的azure提供的azure pipelines,也可以自己新建代理池,这个就是需要额外的服务器。还有选择操作系统和版本号。其他的基本默认就好了。
建好以后就选择save &queue。等一段时间,看到成功以后就可以新建release了。 - 选择到release的对话框,选到我们刚刚CI过程打包的代码,点击create release。
- stage1这里是默认设定的自动触发,下面的资源也是一件默认给到了我们最后一次的CI打包产物。
6. 点击create建成后,编辑的task,stage1中,azure subscription选择我们上篇新建的service connection,app type 如实选择你的目标资源类型。这里我的是web app on windows,app service name点击下尖头系统会根据我们配置 的资源和类型自动loading出符合条件的目标列表,选择我们的目标资源即可
(portal里的目标资源需要提前建好)
下面的deploy azure app service中也是填这些内容。对应填好就可以保存执行了。
- 如果执行通过,即可把任务编辑成,一旦代码库的代码有改动,系统就自动执行CICD的过程。选到我们建的这个release任务,点击edit.
点击git代码的框右上角的闪电,可以把自动部署的开关打开。这里还可以选择是push发生或者是有新的打包产生。选择好出发的代码分支。
另外CI那个也有个触发的开关,但是这个开关默认是开启的,如果你发现你的没有自动触发,可以去检查下下面这个地方。
这两个地方都设置好了,代码一旦有更新就会产生自动打包和自动部署啦!!!
另外还有就是自动化部署的stage1那里是可以添加另外stage2(或更多)的,也可以设置先后关系,一般应用于分环境的系统,比如测试环境完成发布后,再进行生产环境的发布。
以上就是这次我实践CICD的全部过程啦~