Azure DevOps(三):私密文件
在前两篇的文章中已经介绍了CI和CD了,这篇文章就简单一点,简单介绍一下Azure DevOps
的私密文件功能和使用。
在大多数开发情况下除了配置文件外往往还有很多证书,数据库和redis的连接字符串,密钥等。而这些比较敏感的配置信息如果直接push到开源的公共的git上是相当危险的。所以就需要对这些证书,密钥等的敏感信息做特殊处理。
一般情况下如果我们是使用手动部署的话我们只要手动复制相应的文件到部署路径就好了,但是如果配合CI/CD部署的话就需要一个自动处理这种私密文件的机制,这篇文章主要就是介绍Azure DevOps
在私密文件方面的处理机制和使用。
处理机制
在Azure DevOps
中对于私密文件的处理机制比较简单,我们只需要把私密文件上传到Azure DevOps
的项目中去,然后在构建管道
和发布管道
中我们可以在脚本中添加下载私密文件的Task
,下载到指定路径后就可以一起构建或打包了。
上传
在下图中选中Pipelines -> Library
,然后选中Secure files
选项卡就会看到右边多了一个+ Secure file
,点击该按钮上传私密文件。
上传完成后就会看到下面列表里面多了一个文件,该文件就是刚刚添加的私密文件。
然后点击该文件,选中Authorize for use in all pipelines
否则构建时候会要求允许授权才能继续执行构建。
在构建管道中下载
上传私密文件的工作完成了,下面就是在构建的时候如果自动下载私密文件构建打包。
在一开始我们新建管道或者编辑管道界面的右边区域搜索添加,Secure file
,添加如下图所示的Task
。
在这里输入刚刚上传的私密文件的文件名,然后还有一个下载失败重试次数设置(这里默认值就好了)。设置好了之后点击Add按钮添加到构建脚本。
这里可能大家会有一个问题,就是这个Task
下载的私密文件放在哪里?为什么没有下载目标目录的选项?
这里实际上是下载到了这个$(Agent.TempDirectory)
的临时目录中去。所以下面我们还需要把该文件复制到我们需要的目录中去。
还是一样搜索添加名为Copy files
的Task
。
复制文件Task
中输入源目录和目标目录就可以完成复制了。
最后的脚本如下所示,该段脚本就是下载私密文件,并且复制到需要的目录的脚本。