记走出自动化部署的第一步
作为一个开发人员,更新一直是发布代码,打包直接扔给运维部署;为了方便我们开发人员自己更新测试环境的代码,运维弄了一个FTP上传,写脚本监控我们文件的变化来自动更新。
直到有一天,运维跟我说:“他们JAVA发布都是直接发布Docker镜像的,你们能不能也直接把镜像文件给我“。
经过一番查询,VS作为宇宙第一编译器,那必然可以。
一、如果是在Window系统上进行开发,需要先安装Docker for Windows
Docker for Windows需要Hyper-V的支持,一旦打开这个,VMware 就无法运行,两者不兼容。需要用到VMware的同学要自己解决了。(最新版本的VMware已经解决了这个问题)
二、添加Docker支持
选择对应的目标OS,VS会自动生成Dockerfile文件
内容大致是根据.net core的版本选择依赖镜像做基础镜像,将所需要的文件复制到工作区,拉取nuget依赖项,编译并发布。
如果在项目中有个人的或多个不同的nuget源地址,在拉取依赖项的时候在后面指定nuget.config文件
如果需要配置环境变量,也可以做如下修改
三、发布到镜像仓库
发布,选择容器注册表,选择自定义,创建配置文件,填好运维同学发你的项目地址
至此VS部分发布前准备工作已经完成。
四、发布并推送到镜像仓库
1、第一次发布会拉取依赖镜像的底,国内拉取相当慢。为了省事,我从运维的镜像仓库那拉取了之前下载好的镜像
2、推送镜像默认需要https支持,可以直接修改insecure-registries。 Docker for Windows 可视化界面操作相当简单,更新了新版的界面是这样的