【发布时间】:2021-11-08 21:55:16
【问题描述】:
所以我一直在通过许多博客/SO 帖子遵循许多不同的想法/策略,但我一直无法找到我的想法解决方案。
我在用什么
- Visual Studio 2017 v15.9.6
- Git(源代码管理)
- Azure DevOps CI/CD
- Azure 应用服务(用于托管 Web API)
目标
目标是使用 Azure DevOps 工具提交我的项目更改,将更改推送(通过 Git)到 Azure DevOps 存储库,让 CI/CD 构建预计遵循管道规则以部署到 dev/production/etc .在此期间,将连接字符串置于源代码控制之外。
目前,我有一个网站(旧版 Web 应用程序)在外部连接字符串文件上具有本地连接字符串定义(基于这篇文章 Connection Strings and Configuration Files)。它在 Azure 上作为应用服务托管。在我的 .gitignore 文件中,我让 Git 忽略了特定的连接字符串文件,因此它不在源代码控制中。使用 Azure 的从 GitHub 部署功能,该站点将使用 GitHub 中的源进行更新。 但是,我不得不手动上传带有错误/错误数据的连接字符串文件。我使用 Azure 的应用程序设置自己定义连接字符串。这个过程完美无缺。
问题
我有一个从 .Net Framework 4.7.2 开始的新 .Net Web API 项目。我还按照文章将连接字符串分成单独的文件,这样我也可以在源代码管理中忽略该文件。当 Azure DevOps 构建项目时,它会说:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\Web\Microsoft.Web.Publishing.targets(2603,5): 错误:将文件 ConnectionStrings.config 复制到 obj\Release\Package\PackageTmp\ConnectionStrings.config 失败。可以 找不到文件“ConnectionStrings.config”。
很明显,因为我没有将此文件添加到源代码管理中。主要是因为即使在开发过程中我也需要输入实际的连接字符串用户名/密码。
问题
还有哪些其他解决方案/功能可以帮助完成此场景?
【问题讨论】:
标签: git visual-studio azure continuous-integration azure-devops