【问题标题】:Azure DevOps (VSTS) - using Azure Az PowerShell on a Hosted AgentAzure DevOps (VSTS) - 在托管代理上使用 Azure Az PowerShell
【发布时间】:2019-07-09 10:29:30
【问题描述】:

我们将 Azure DevOps 与托管的 VS2017 构建代理一起使用。我们想使用新的Az PowerShell module。但是,VS2017 hosted build agent 上安装了 AzureRM。文档说明You should not install Az side-by-side with AzureRM. Remove all AzureRM modules before installing Az. 这确实是必要的,因为两者有冲突。也没有 Az PowerShell 构建任务。

所以问题是,如何使用 Azure DevOps 托管的 VS2017 构建代理中的 Azure Az PowerShell 模块?

【问题讨论】:

    标签: azure powershell azure-devops azure-cli az


    【解决方案1】:

    我想答案是——你不(暂时)。 因为您没有权限删除 azure powershell 模块。好的,显然你可以做到。

    另一种使其工作的方法是使用 docker 容器作为构建代理(在托管代理内部)。显然可以有 Az 模块。

    【讨论】:

    • Docker 是一个有趣的想法。您可以删除 AzureRM,只需从会话中将其卸载,然后安装 Az,但我希望有一个更流畅的解决方案,因此会等待更多/更好的答案。见stackoverflow.com/questions/50375331/…
    • 您可以随时使用自己的代理。我个人不会从代理中卸载 azure.powershell 的方式。您可以做的另一件事 - 使用 ACI 或 Azure Function 之类的东西并调用它们,它们将拥有 Az 模块并执行您的代码
    • 我真的不想保护、运营和管理我自己的代理。卸载效果比您预期的要好。函数是另一个好主意。
    【解决方案2】:

    它们不能并排安装,但是可以将一个安装在 PowerShell(非核心)中,另一个安装在 PowerShell Core 中。

    来自您指定的文档中的comments

    问题:文档说不要并排安装这些模块,但有什么原因我们不能在同一台机器上运行 PowerShell 5.1 中的 AzureRM 和 PowerShell Core 中的 AZ?

    回答:不,完全没有理由。事实上,我们正在考虑将此作为高级方案建议给那些对 AzureRM 脚本进行大量投资的人

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-06
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 2019-08-31
      • 2019-02-17
      相关资源
      最近更新 更多