My 点网核心应用程序每个环境都有一个 appsettings.json (应用程序设置.json and appsettings.Development.json例如),我想在我的管道中利用这一点。
我看到管道有两个选项:
Build Artifact for Dev -> Deploy on Dev -> Build Artifact for Prod -> Deploy on Prod
or
Build Artifact -> Deploy on Dev -> Deploy on Prod
对于第一个选项,我可以将环境设置为构建的参数。
对于第二个选项,如何只构建一次应用程序,并根据当前的部署步骤设置环境?充分利用多重优势应用程序设置.json I have.
最后,这些方法是否符合最佳实践?如果不是,那么具有多个环境的管道的最佳实践是什么?
一般来说,我们可以生成单个工件,然后将该工件部署到不同的环境,并在其自己的阶段发布阶段的任何环境中执行不同的转换。这意味着我们可以更改和覆盖中定义的设置appsettings.json
在每个发布环境中。
请参阅文件转换和变量替换参考 https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/transforms-variable-substitution?view=azure-devops关于如何使用 .json 文件进行转换。
另外,我们可以尝试安装扩展,然后使用 Replace Tokens 任务来加载和更改在appsettings.json
每个发布环境/阶段中的文件。
您还可以转换设置或使用文件创建者 https://marketplace.visualstudio.com/items?itemName=eliostruyf.build-task创建一个新的appsettings.json
文件以覆盖现有文件。
以下博客供您参考:
- 将配置文件中的 appsetting 令牌替换为“构建和发布”
VSTS (TFS) 中的管理 https://www.visualstudiogeeks.com/DevOps/replace-appsettings-token-configfiles-build-release-tfs-vsts
- 使用 Azure 转换 .NET Core 2.2 Web API 中的配置
开发运营 https://medium.com/cheranga/transform-configurations-in-a-net-core-2-2-web-api-using-azure-devops-8febc8796713
- 将自定义 appsettings.json 与 ASP.NET Core 集成结合使用
测试 https://gunnarpeipman.com/aspnet-core-integration-tests-appsettings/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)