Azure devops Azure发布添加工件

Azure devops Azure发布添加工件,azure-devops,Azure Devops,在Azure Devops中,我有一个构建和发布工件的构建管道,以及一个下载这些工件、定义一些基础设施配置并将工件批量上传到web容器的发布管道 在配置定义之后,我想添加一个任务来获取AD注册应用程序的clientId,将其转储到json文件中,并将该文件复制到与构建工件相同的文件夹中。json必须上传到web容器,以便为spa应用程序提供运行时配置 我所尝试的: 在发布任务中生成json并将其复制到所述文件夹中 在代码中提交一个空json,将其作为构建工件发布,并在发布任务中更新其内容 使用

在Azure Devops中,我有一个构建和发布工件的构建管道,以及一个下载这些工件、定义一些基础设施配置并将工件批量上传到web容器的发布管道

在配置定义之后,我想添加一个任务来获取AD注册应用程序的clientId,将其转储到json文件中,并将该文件复制到与构建工件相同的文件夹中。json必须上传到web容器,以便为spa应用程序提供运行时配置

我所尝试的:

  • 在发布任务中生成json并将其复制到所述文件夹中
  • 在代码中提交一个空json,将其作为构建工件发布,并在发布任务中更新其内容
  • 使用文件转换任务,该任务似乎只允许更新键/值,而不允许生成新的键/值
上载的文件夹的内容似乎已锁定。
对吗?我能做些什么来实现我的目标?

版本不发布工件。发布消耗已发布的工件。同一版本可以多次运行。一个版本可以有多个环境。在任何情况下,您想要做的事情都会立即崩溃

您应该做的是编写一个自定义BASH或Powershell脚本(取决于您的首选项和操作系统),它完全按照您所描述的那样执行:

  • 生成适当的JSON文件
  • 将JSON文件上载到“web容器”

您还没有提供关于什么是“web容器”或您的部署环境(即AWS、Azure、运行在Kubernetes中的容器)的任何详细信息,因此这是可以提供的最全面的答案。

谢谢您的回答非常有帮助,我最终按照你的建议做了。我发现很难理解为什么不能在发布管道中生成工件。我正在部署到Azure存储帐户的静态网站的$web容器中。应用程序注册在发行版中完成,我想在发行版中创建一个json文件,其中包含应用程序clientId和tenantId,并将其与其他资产一起上载到web容器。当ui加载时,它获取此配置以进行单点登录身份验证。本质上,我只构建一次,并在运行时获取环境配置。如果您认为这种方法是错误的,请随时告诉我。