为什么 Azure Pipelines 显示“环境不存在或尚未授权使用”?

Why does Azure Pipelines say "The environment does not exist or has not been authorized for use"?

提问人:Rachel 提问时间:10/13/2021 更新时间:10/28/2021 访问量:13075

问:

在 Azure Pipelines YAML 中,可以指定要在其中运行作业的环境。

  jobs:
    - deployment: Deploy
      displayName: Deploy
      environment: $(environment)

将新值传递到管道应自动在 DevOps 中创建环境。

Automatically created environment

但是,我最近在尝试部署到新环境时收到此错误:

作业部署:找不到环境 [environment-name]。环境不存在或未被授权使用。

手动创建环境后,管道部署成功。

我是否缺少任何配置或内容来允许自动创建环境?

azure-pipelines 持续部署 azure-pipelines-yaml cicd

评论


答:

4赞 Leo Liu 10/13/2021 #1

为什么 Azure Pipelines 显示“环境不存在或尚未授权使用”?

首先,你需要确保你是环境中的创造

enter image description here

其次,确保从 yaml 编辑器更改/创建环境名称,而不是从 repo 更改/创建环境名称。

如果以上内容对您没有帮助,请问您,Project Reader,您在项目中的角色是什么?

评论

0赞 Rachel 10/13/2021
谢谢。是的,我被列为安全领域的创建者。环境名称根据 yaml 中变量的值而更改,因为为从未用作环境的变量分配了新值。你是这个意思吗?$(environment)
0赞 Rachel 10/13/2021
为了回答你的最后一个问题,我是该项目的贡献者。但是,我没有直接触发管道 - 它是由存储库更改触发的 CI/CD 管道。
2赞 zachbugay 11/18/2022
我还遇到了 OP 正在谈论的问题。我们在管道中使用模板。最初,我被分配到的角色是“只读”。将角色更新为“用户”或“管理员”后,它起作用了。
0赞 Brandon Johnson 4/3/2023
我也有类似的问题。进入各个环境并将贡献者设置为“用户”解决了这个问题。
3赞 Sasa Prodanovic 10/28/2021 #2

我有同样的问题,根据文档,不可能以这种方式创建环境。

如果使用运行时参数创建环境,则创建环境将失败,因为这些参数在运行时会展开。环境创建发生在编译时,因此我们必须使用变量来创建环境。

欲了解更多信息,请查看此处

评论

0赞 Rachel 10/28/2021
根据链接,这种行为最近发生了变化......“以前,我们通过将所有项目参与者添加到环境的管理员角色来处理这种情况......”