gpt4 book ai didi

azure - 在 azure devops : how can I inject my pipeline variables as appsettings when deploying a docker container to azure?

转载 作者:行者123 更新时间:2023-12-02 19:45:23 24 4
gpt4 key购买 nike

我在 Azure 上部署的 Docker 容器中设置应用程序设置时遇到问题。

我的设置:

  • 我有一个 .NET Core 应用
  • 我的构建管道构建了一个 Docker 镜像并将其推送到我在 azure 上的容器注册表。
  • 我的发布管道根据标签提取镜像并将其部署到 Azure Web 应用。

我需要将镜像部署到多个环境。每个环境都有不同的应用程序设置。我在管道“变量选项卡”中定义了变量: enter image description here我需要将这些发送到我的 azure 以便可以使用它们。 enter image description here

当我手动添加它们时,它可以工作,但我想从我的变量中提取它们,所以我只需要添加它们一次。 (见截图1) enter image description here编辑:上面的屏幕截图有效。但这不是我要找的。因为每次添加或删除新的应用程序设置时,我都必须编辑应用程序设置管道。另外,我相信在此处删除应用程序设置只会将其保留在已部署的环境中。

我正在部署现有的 docker 镜像,因此无法编辑 appsetting.json 文件。我也不会为每个环境制作不同的 docker 文件。

有办法实现这一点吗?如何提取/列出管道中定义的变量作为 docker 变量或 appsettings?

最佳答案

您可以在管道中定义管道变量,并将它们附加到特定范围(读取阶段)或发布范围(应用到所有阶段)。

例如我有一个定义为 EnvironmentConnectionString 的变量,它在两个范围中定义:

  • 范围测试:“EnvironmentConnectionString = server=test-db; ....”
  • 范围 QA:“EnvironmentConnectionString = server=qa-db;...”
  • 分数发布:“logging_flag=enabled”

然后您可以在“应用程序和配置设置”中进行设置,例如

- ConnectionString $(EnvironmentConnectionString)
- Logging $(logging_flag)

注意使用这些变量的 $(变量名称) 语法

当管道的不同阶段运行时,它们会自动选取特定于该阶段的值并应用于 Azure 应用设置。

关于azure - 在 azure devops : how can I inject my pipeline variables as appsettings when deploying a docker container to azure?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63725572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com