当前位置: 首页 > 知识库问答 >
问题:

在Azure devops中:在将docker容器部署到Azure时,如何将管道变量作为应用程序设置注入?

谭绍晖
2023-03-14

我在azure上部署的docker容器中设置appsettings时遇到问题。

我的设置:

  • 我有一本书。NET核心应用程序

我正在部署现有docker映像,因此无法编辑应用程序设置。json文件。我也不会为每个环境创建不同的docker文件。

有没有办法做到这一点?如何提取/列出管道中定义为docker变量或appsettings的变量?

共有2个答案

封烈
2023-03-14

对于不同的阶段,可以有不同的变量组。这些变量组应使用不同的值定义相同的变量。

例如:Dev变量组和Release组都有变量PortRequestTimeout。。。开发中的端口为4999,而发布中的端口可能为5000。我们可以将这些组链接到特定的阶段范围,Dev阶段的变量组和Release阶段的group。

[![在此处输入图像描述][1][1]

确保你的所有阶段都有相同的设置,然后用不同范围的对应值替换变量。

更新:

管道中的每个阶段都是独立的,它们代表不同的环境。所以我们必须一个接一个地定义阶段的设置或阶段内任务的设置。我们必须一个接一个地定义应用设置输入。[1]:https://i.stack.imgur.com/ukbjs.png

龚征
2023-03-14

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

例如,我有一个定义为Environment ConnectionString的变量,它在两个范围内定义:

  • 范围测试:环境连接字符串=服务器=test-db;......
  • 范围QA:环境连接字符串=服务器=qa-db;...
  • 分数释放:logging_flag=启用

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

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

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

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

 类似资料:
  • 我正在尝试使用Azure DevOps发布管道将java应用程序部署到tomcat服务器。我在tomcat服务器选项卡中填写了war文件路径、服务器URL信息、用户名和密码,如下所示: 但部署失败,我得到以下错误: 我使用的路径或任何其他信息是否错误?谁能帮我一下吗,谢谢。

  • 我有一个简单的应用程序构建为docker图像(ubuntu),并把它放入docker容器。它有几个卷附加到它。我想将此容器推送到Azure AppServiceLinux。我尝试了几个选择,但没有成功。 > Azure CLI创建web应用程序并将容器推送到Azure容器注册表,然后将其部署到web应用程序。 给出错误。 将容器上传到,并更新Web应用容器设置以将此容器加载到Web应用中。 给出或

  • 我在Azure DevOps中有一个发布管道。这是从ACR中提取docker映像并发布到Web应用程序(linux容器)。所有工作都很好(容器按预期发布和运行),但是我似乎不能在运行时向容器传递任何自定义环境变量。 释放管道 在管道“Deploy Azure App Service”中的变量选项卡下,我添加了,然后在“App Settings”下添加了 有人知道如何在运行时通过Azure DevO

  • 我想第一次使用docker发布我在spring boot中制作的应用程序。然而,在发布时出现了一个问题。 因此,我上传到conter的图像不显示。 以下是我采取的步骤,我将立即添加我使用gradle的步骤。 > 我将Docker插件下载到IntelliJ 我创建了一个Dockerfile,其中我放了: 音量 /tmp ARG JAR_文件 在终端中,我键入以下命令来构建项目: chmod 777

  • Azure文档(https://docs.microsoft.com/en-us/Azure/devops/pipelines/tasks/build/docker?view=azure-devops)没有指定如何在Azure pipeline中运行docker容器。我们可以使用docker@2任务来构建/推送docker图像,但它没有运行容器的命令。通过查看旧版本Docker task的源代码,

  • 需要帮助找到通过-1或使用appsettings部署应用程序自定义应用程序设置的方法。由my.funproj创建的json(vs工具2015)2.appveyor的环境变量3.任何其他技巧 我想要的只是避免在门户中手动设置这些东西并让它们受到源代码控制(更好地使用部署,例如-appveyer的安全环境变量) 提前感谢!下面是我针对的门户设置的示例- 应用程序的环境变量设置示例- 函数应用程序(ru