(一重山,两重山。)

书接上文,在上回中我们说到了《【Azure + Core】实现CI/CD(一)构建镜像并推送仓库

今天我们继续往下说,说下CD(持续部署)的流程,也是很简单。这里先贴下上篇文章末尾留的小问题,在CD的时候遇到了个错误,打开日志是这样的,大家可以先看看,后续会解答:

1$ 添加Release管道

和CI类似,还是在Pipelines(管道)的Release(发布)中,新建一个Pipeline:

选择一个空模板:

将鼠标放到Artifacts(制品)模块上,点击添加一个Artifact,此时右侧唤起编辑窗口,

选择build,然后选择构建的管道源

然后可以开启自动构建,只要提交代码的时候,便会触发CI的Build操作,接着便立即触发CD的Release操作,整个流程一气呵成

配置好了Artifact,你可以称它为制品,然后就可以配置task任务了。

2$ 配置Agent代理

将鼠标放到右侧的Stage 1选项上,可以看到有三块功能选择,分别是:

①、重命名Stage(阶段);

②、添加一个新的Stage;

③、编辑task(任务);

点击任务链接,配置Agent Job(代理工作),这里有两点需要注意:

1、代理池,说白了就是部署的地方,目前可以默认即可,以后需要用自己的服务器;

2、agent specification(代理规格),就是服务器规格配置;

请注意!这里默认的是vs2019规格,是windows环境的,如果不改的话,就会出现文章开头的错误,Docker不能运行的平台问题。所以直接选Linux即可

3$ 配置Task任务

点击上边的加号,筛选docker的task模板

在新唤起的编辑页,编辑命令即可,Docker有三个类型,对应不同的命令类型,

我们第一步需要先删除旧的容器,所以直接用run命令即可,所以Task的版本用0.*:

还是和上篇一样,需要选择容器Registry地址,然后就是配置一个action(行为),增加一个删除镜像的命令

rm -f xxxx

4$ 配置其他的Stage阶段

仿造上边第一步删除旧容器的阶段步骤,再建一个运行容器的Stage,整体流程一致,不再细说,配置图如下:

用的是Task版本为1.*的Docker容器配置,使用自定义的DockerRegistry,配置镜像名,支持自定义,比如我加了前缀,也可以指定端口。

点击Save(保存),一套简单的持续集成管道就建好了

手动触发,create release,就可以看到详细的过程:

等一段时间后,就可以看到效果了,但是这样是不行的,因为我们还没有自己的IP。

5$ 其他问题

一、如何预览效果

上边我们说到了一个地方,就是代理池(Agent Pool),这个东西就是配置我们的服务器地址的,也就是宿主机,配置好以后就可以看效果了。

当然,也可以直接对接k8s,效果也是一样的,等我后续的文章吧。

二、如何自定义Docker Registry

目前这两篇文章可以看出来,用的是DockerHub作为服务仓库地址,如何使用自己的私库或者Azure上的呢,也是等我后续的文章吧。

下次再见咯。

【.NET】实现CI/CD(二)运行镜像,自动化部署相关推荐

  1. 使用TFS CI/CD 完成 VSTS 插件自动化部署和发布

    Visual Studio Team Service 经过了13年的版本演进和5年的在线运营,现在已经是最成熟的商用DevOps工具链,Marketplace作为VSTS为全球开发者提供各种类型的插件 ...

  2. ci/cd heroku_在Heroku上部署Dash或Flask Web应用程序。 简易CI / CD。

    ci/cd heroku First, we'll transform the animated scatter map built in my previous article into a bas ...

  3. GitHub免费支持CI/CD了,开发测试部署高度自动化,支持各种语言,网友:第三方凉凉...

    郭一璞 栗子 发自 凹非寺 量子位 出品 | 公众号 QbitAI GitHub激动地宣布,终于支持CI/CD了. CI\CD,全称:持续集成 (Continuous Integration) ,持续 ...

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

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

  5. ci/cd heroku_在GitLab上设置CI / CD以在Heroku上部署Python Flask应用程序

    ci/cd heroku Recently I came across a challenge to deploy a Python Flask web application to Heroku. ...

  6. 前端项目中的CI/CD实践(自动化部署)

    前言 前置知识 Linux Docker Nginx Github 可以干嘛 作为一套面向开发和运维团队的解决方案,CI/CD 主要解决集成新代码和向用户频繁交付应用的问题. 更直接地说,就是可以解放 ...

  7. Jenkins和GitLab CI/CD:CI/CD工具之战

    持续集成(CI)和持续交付(CD)在过去十年左右时间里取得了长足的进步.DevOps测试的兴起引发了针对CI/CD工具的强烈需求.现有的解决方案一直在与时俱进,无数的新产品或新版本正在进入质量检查领域 ...

  8. asp.net core结合Gitlab-CI实现自动化部署

    一.前言 在之前的文章中写过k8s+Jenkins+GitLab-自动化部署asp.net core项目 的topic,这次讲解一下gitlab-ci的CI/CD,说实话,自动化部署是在是非常的舒服, ...

  9. winform 项目 发布后比本地运行慢_前端团队基于 GitLab CI/CD 的自动化构建、发布实践,快来学习吧...

    在公司搭建内部 GitLab 平台后,前端活动项目从 SVN 迁移到 GitLab.本文介绍如何基于 GitLab CI/CD 实现自动化构建及发布. 在从 SVN 迁移到 GitLab 和接入 Gi ...

  10. GitOps—通过CI/CD自动化构建虚拟机模版

    <CI/CD(持续集成构建/持续交付):如何测试/集成/交付项目代码?(Jenkins,TravisCI)> <什么是DevOps?人员,流程和产品的结合,过程.方法与系统的统称&g ...

最新文章

  1. 揭秘:深度网络背后的数学奥秘
  2. 去一家小公司从0到1搭建后端架构,做个总结!
  3. C#去掉字符串中的汉字
  4. 多元经验模态分解_【Applied Energy最新原创论文】一个基于多元搜索引擎数据的多尺度油价预测方法...
  5. 交交变换电路学习笔记
  6. 2021.02.03 Visual QA论文阅读
  7. 记录navigator实现不同设备页面跳转
  8. VTK:PolyData之DeletePoint
  9. 火星云分发全网视频_火星云矿总裁商思林:三大引擎点燃2020年超级牛市,挖矿和理财将成为资产配置必选项...
  10. python的std函数_Python numpy.nanstd函数方法的使用
  11. synchronized原理_Java并发编程 -- synchronized保证线程安全的原理
  12. 企业实战_19_MyCat初始化ZK并配置Mycat支持ZK
  13. 目前机器学习最热门的领域有哪些
  14. Linux学习笔记8
  15. python中ndarray对象实例化_Python —— 实例化ndarray对象
  16. Android 屏幕适配:最全面的解决方案
  17. OV7725学习(二)
  18. 通过高德地图api获取地点坐标(以查询物资点为例)
  19. JavaScript object移除
  20. Excel函数之~计算日期、天数、星期

热门文章

  1. CCR源码分析-CCR架构
  2. 6款国内外SNS开源软件 搭建社交网站利器
  3. Visual Studio 2019 preview中体验C# 8.0新语法
  4. C#构造函数、操作符重载以及自定义类型转换
  5. Httpclient发送json请求
  6. Greenplum使用简明手册
  7. Ctrl与Caps Lock键的交换
  8. DataForm 中通过外面的按钮进行提交时,出错
  9. 复制一个文件夹中的所有文件和文件夹的java程序实现
  10. 如何将Rant变成生产力电动工具