Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)

前言

本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目).

上一篇:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(一 .简介与创建自己的代理池)

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)

觉得有帮助的朋友~可以左上角点个关注,右下角点个推荐

本篇是这个系列最后一篇了,主要是介绍如何创建CD持续部署管道

 

正文

创建部署管道,大致的流程图如下:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第1张图片

 

 

与上一篇不同的是,我们加入了持续部署的服务器,我们创建对应的管道来运行新的镜像和删除旧的容器就行.

 

 

1.创建部署管道

我们点击release如图:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第2张图片

 

点击添加一个新的Releases管道,

进来后,微软给我们提供了很多线上模版 ,不过我们选择空的job

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第3张图片

 

 点击添加一个Artifacts,这里我们选择上一篇文章刚加的集成管道:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第4张图片

 

 

 

 点击这个 上面的闪电标志 添加触发事件, 当集成管道运行完毕之后 自动触发部署管道.
Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第5张图片

 

 

下面我们开始创建这个管道所要执行的步骤, 点击task进入编辑页面:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第6张图片

选择执行任务的代理服务器:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第7张图片

 

 

点击加号,添加一个docker任务:

 

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第8张图片

 

 

1.创建一个删除旧容器的任务,操作过程如下:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第9张图片

 

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第10张图片

 

 

2.开始运行我们新版本的容器

 新增一个后续的Stages如下:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第11张图片

 

同上添加一个docker任务(记得选择代理服务),操作如下:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第12张图片

 

 这样我们就完成了整个持续部署管道的配置.

 

2.合并项目主干代码查看效果

我们修改主页代码如下:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第13张图片

 

提交并合并到主干.

可以看到 我们上一篇的集成管道已经跑了起来.

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第14张图片

 

 当集成管道跑完之后,部署管道也开始了运行 如下:

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第15张图片

 

 

运行成功,我们去看看效果

 

 

 

 

 

 自动化部署成功

 Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)_第16张图片

 

 

后记

通过三篇文章,完成了我们整个CI/CD的全过程.虽然是使用的测试项目,但是也可以应用在生产环境. PS:很久没写博客了. 我马上又要回来啦~~

你可能感兴趣的:(Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道))