CI管道设计
任务组设计
CI管道设计并没有特别之处,重点在于在乎的CD管道设计中
CD管道设计
除了自身的CI源之前,添加生成密文控制台应用程序也作为源,以便于在CD过程中使用加密功能
Development
Development开发环境是明文存储的,所以CD管道也不做特殊处理
Sit
Sit环境的配置不同,在CD过程中会替换环境变量的值
环境变量设置
Step1:下载安全文件
下载证书,证书存储在Devops中的库中,需要手动上传,如何生成证书自行查找资料
Step2:生成加密文件secret.xml以及对应{key}.xml
依赖生成密文的程序生成秘钥文件以及secret.xml
Step3:机密变量替换
使用powershell脚本解析Step2步骤中生成的secret.xml文件并替换环境变量的值
Step4:启用环境变量替换
测试
Development
Sit
这里DataBase.DbConnection是null是因为DataBase并不是一个Option
可以通过dotnet
命令启动程序来查看是否解密成功
注意:并未做到全自动化,还有很多不足,比如证书如何自动化安装,证书如果有密码如何处理,替换机密变量时Shell脚本的优化、UserSecret集成等