作为一个开发人员,更新一直是发布代码,打包直接扔给运维部署;为了方便我们开发人员自己更新测试环境的代码,运维弄了一个ftp上传,写脚本监控我们文件的变化来自动更新。

  直到有一天,运维跟我说:“他们java发布都是直接发布docker镜像的,你们能不能也直接把镜像文件给我“。

  经过一番查询,vs作为宇宙第一编译器,那必然可以。

一、如果是在window系统上进行开发,需要先安装docker for windows

  docker for windows需要hyper-v的支持,一单打开这个,vmware 就无法运行,两者不兼容。需要用到vmware的同学要自己解决了。

二、添加docker支持

 

 

 选择对应的目标os,vs会自动生成dockerfile文件

 内容大致是根据.net core的版本选择依赖镜像做底,将所需要的文件复制到工作区,拉取nuget依赖项,编译并发布。

 如果在项目中有个人的或多个不同的nuget源地址,在拉取依赖项的时候在后面指定nuget.config文件

 如果需要配置环境变量,也可以做如下修改

 

 三、发布到镜像仓库

发布,选择容器注册表,选择自定义,创建配置文件,填好运维同学发你的项目地址

 

 至此vs部分发布前准备工作已经完成。

 四、发布并推送到镜像仓库

   1、第一次发布会拉取依赖镜像的底,国内拉取相当慢。为了省事,我从运维的镜像仓库那拉取了之前下载好的镜像

   2、推送镜像默认需要https支持,可以直接修改insecure-registries。 docker for windows 可视化界面操作相当简单,更新了新版的界面是这样的