之前发布了 《.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#

Azure DevOps 替换 appsettings 解决方案的更多相关文章

  1. Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)

    之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...

  2. 在Azure DevOps Server (TFS 2019) 流水线传递参数

    变量概述 在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散.各自独立的任务之间相关影响并共享数据.在流水线中使用变量,可以在各任务之间相互调 ...

  3. Azure DevOps+Docker+Asp.NET Core 实现CI/CD(一 .简介与创建自己的代理池)

    前言 本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目). 打算用三个篇幅来记录完整的全过程 觉得有帮助的朋友~可以左上 ...

  4. Azure Devops/Tfs 编译的时候自动修改版本号

    看到阿迪王那边出品了一个基于Azure Devops自增版本号  链接 http://edi.wang/post/2019/3/1/incremental-build-number-for-net-c ...

  5. 如何将Azure DevOps中的代码发布到Azure App Service中

    标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Servi ...

  6. 使用ML.NET + Azure DevOps + Azure Container Instances打造机器学习生产化

    介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipeli ...

  7. 微软改名部又出动啦!微软宣布VSTS改名为Azure DevOps

    本篇为翻译,原文地址:https://azure.microsoft.com/en-us/blog/introducing-azure-devops/ 作者:Jamie Cool,Azure DevO ...

  8. 在Azure DevOps Server(TFS系统)中部署回退/回滚方案(Rollback)

    概述 Azure DevOps Server(之前名TFS)是微软公司实现软件研发.测试和部署一体化的全流程解决方案.在近几年的研发过程中,Azure DevOps Server 大幅增强了软件部署过 ...

  9. Azure DevOps Server:Git权限设置

    Azure DevOps Server 权限概述 在Azure DevOps Server (之前名称为TFS)中,权限是一个比较复杂的概念.从权限层级上来说,包括服务器级别.团队项目集合级别.团队项 ...

随机推荐

  1. linux 进程消耗查看

    Linux下如何查看哪些进程占用的CPU内存资源最多 linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sor ...

  2. ubuntu13 eclipse菜单栏失效解决

    使用ubuntu13安装完eclipse和myeclipse后发现菜单栏单击时不显示下拉框只能通过快捷键显示. 百度了一下,找到以下解决办法. 打开终端运行下面的命令,打开eclipse后可正常显示菜 ...

  3. Vsftp服务-实战案例

    Vsftp 实验案例一:(本地用户) 试验版本:Linux7.X版本 公司内部现在有一台FTP 和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文 件.创建目录.更新网页等等.公司 ...

  4. Redis 的主从同步(复制)

    Redis 的主从同步(复制) Redis 的主从同步(复制) 什么是主从同步(复制) 假设有两个 redis 实例 ⇒ A 和 B B 实例的内容与 A 实例的内容保持同步 那么称 A 实例是主数据 ...

  5. 蓝松短视频SDK基本功能免费列表

    下载地址:https://github.com/LanSoSdk/LanSoEditor_common 功能免费. 个人和公司都可以商用,不需要和我们说明. 直接下载, 直接去用既可. 完全不需要和我 ...

  6. gym101666题解

    A Amsterdam Distance 题意 求圆环上的两点距离. 分析 显然是沿半径方向走到内圈再走圆弧最短. 代码 #include <bits/stdc++.h> using na ...

  7. 深入Dapper.NET源码 (文长)

    目录 前言.目录.安装环境 Dynamic Query 原理 Part1 Dynamic Query 原理 Part2 Strongly Typed Mapping 原理 Part1 : ADO.NE ...

  8. Openshift yum安装

    Openshift yum安装: Yum 安装docker [root@DockerServer openshift]# yum repolist [root@DockerServer openshi ...

  9. .netcore 开发的 iNeuOS 物联网平台部署在 Ubuntu 操作系统,无缝跨平台。助力《2019 中国.NET 开发者峰会》。

    2019 中国.NET 开发者峰会正式启动 目       录 1.      概述... 2 2.      准备运行程序包... 2 3.      安装.netcore. 3 4.      安 ...

  10. 【SQL】sql统计不同类别的不同状态的数目

    例子:某主机下有5149个设备,设备分不同类别,设备运行会有不同状态(1-正常.2-告警.3-故障.0-离线) sql: SELECT t.DEVICE_TYPE_NAME,SUM(CASE t.DE ...