Azure DevOps 替换 appsettings 解决方案
2024-09-01 04:02:13
之前发布了 《.Net Core DevOps -免费用Azure四步实现自动化发布(CI/CD)》之后,有很多朋友私信我说如何替换 appsettings 里面的
ConnectionStrings
的问题。我的解决方案是通过Shell在编译前替换需要替换的字符串。以下是具体步骤:
1.项目添加 appsettings.Production.json
添加占位符例如{Writable},用于Shell脚本替换用
2. 打开解决方案的 azure-pipelines.yml
添加一个新的Task
注:```ls``` 列出目录(主要是看azure 的 devops 的目录结构,可以不写)
#sed 将文件内所有的 {Writable} 替换成Azure的 $(Writable)
sed -i 's/{Writable}/$(Writable)/g' WebNotebook/appsettings.Production.json
3.将yml的$(Writable)
配置到Azure的 Variables
里面
4.提交代码,查看是否替换成功
检查Job执行情况
进入docker查看appsettings,替换成功
root@iZs9kgd0x5xmhaZ:~# docker exec -it 715afabf4ac7 bash
root@715afabf4ac7:/app# ls
WebNotebook.Views.dll WebNotebook.dll WebNotebook.runtimeconfig.json appsettings.json
WebNotebook.Views.pdb WebNotebook.pdb appsettings.Development.json web.config
WebNotebook.deps.json WebNotebook.runtimeconfig.dev.json appsettings.Production.json wwwroot
root@715afabf4ac7:/app# cat appsettings.Production.json
{
"ConnectionStrings": {
"Writable": "Server=127.0.0.1;Database=Demo;Integrated Security=true;",
"ReadOnly": "Server=127.0.0.1;Database=Demo;Integrated Security=true;"
},
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
root@715afabf4ac7:/app#
最新文章
- 八、RFCOMM
- 【Selenium2+Python】常用操作
- SQL 创建一个只读账户 .
- SSIS with vertica
- HDU1542 Atlantis(矩形面积并)
- Android 自定义Button按钮显示样式(正常、按下、获取焦点)
- 小学生之解析XML应用
- 初级Django学习
- layui layer弹框中表格的显示
- freemarker使用
- SqlServer基础语法(三)
- QPS 机器计算公式
- PHP安全之Web攻击(转)
- android------adb命令 pull或push手机和电脑文件交互
- C语言 · 关联矩阵
- CentOS5.5环境下布署LVS+keepalived
- 基础语言知识C++
- Frequently Used Algo
- 解题:POI 2018 Prawnicy
- qrcode 生成二维码
热门文章
- 【linux】【Go】Centos7安装go1.13环境
- linux mint 17编译android 2.3.1错误记录
- pip换源
- Linux 删除命令rm
- win10下,打开oracle时出现 oracle initialization or shutdown in process 错误 的解决办法
- MySQL 深入理解索引B+树存储 (转载))
- jquery复习日记(1)
- ActiveMQ学习总结------入门篇01
- github基本使用---从零开始
- 时间复杂度————被list.insert坑了