【问题标题】:Azure Devops Release Pipeline: Can I Somehow Pass in a Service Connection to a Powershell Script?Azure Devops 发布管道:我能否以某种方式将服务连接传递给 Powershell 脚本?
【发布时间】:2021-06-08 19:13:13
【问题描述】:

我有一个 Powershell 任务,用于对 Pivotal Cloud Foundry 实例执行多个命令。现在,我被困在“手动”传递URLusernamepassword(作为锁定变量),所以我可以cf login - 但它们已经作为服务连接存在。

是否可以“传入”服务连接来访问这些值?例如,Cloud Foundry CLI 任务有一个用于选择 Cloud Foundry 端点的下拉菜单。当我创建一个任务组时,如果我在任何地方添加$(someVariable),ADO 足够聪明,可以将它添加到任务组所需的变量列表中。我希望存在类似的东西,我可以在我的 Powershell 脚本中说 $([ServiceConnection]cfConn) 或类似的东西,然后魔法就会发生。

【问题讨论】:

  • 以下回复对您有帮助吗?

标签: powershell azure-devops cloud-foundry azure-pipelines-release-pipeline


【解决方案1】:

所以,你可以这样做。你会想要:

  1. 转到“服务连接”并设置“通用”服务连接以与 Cloud Foundry 一起使用。 (在本例中,我们将其称为“Cloud Foundry - Dev”)

  2. 完成后,您可以将服务连接设置为根变量:

trigger:
- main
pool:
  vmImage: ubuntu-latest
variables:
  CloudFoundryServiceConnectionName: 'Cloud Foundry - Dev'
steps:
- task: CloudFoundryCLI@0
  inputs:
    cfEndpoint: ${{ variables.CloudFoundryServiceConnectionName }}
    cfCommand: 'YOUR-COMMAND'

但是,如果您尝试在同一个 CloudFoundryCLI 任务中多次登录,则此路由将不适合您。该任务只是使用一个字符串来查找服务连接并进行设置。

更新:包括经典编辑器方法 要使用经典编辑器执行此操作:

  1. 转到您的版本(或管道)中的“变量”标签:
  2. 添加一个“ServiceConnection”变量
  3. 前往您的 Cloud Foundry CLI 任务
  4. 添加 "$(ServiceConnection)" 作为服务连接:

更新:如果您希望直接访问 Powershell 中的自定义变量,而不是服务连接,您需要在Azure DevOps 中的

然后,您将需要前往您的管道(在下面的示例中为经典)并绑定变量组:

最后,更新您的 Powershell 脚本以使用该变量:

【讨论】:

  • 我应该澄清一下 - 有没有办法在经典编辑器中做到这一点?
  • 当然可以。我已经用经典编辑器更新了我的答案。
  • 这正是我想要做的,但是您如何将 $(ServiceConnection) 传递给 Powershell 任务而不是 Cloud Foundry CLI? Powershell 没有地方指定像 CF CLI 这样的云代工端点
  • @Scott Baker 对于 PowerShell,您可以直接在 PowerShell 任务中访问 $(ServiceConnection)。
  • 这对我不起作用 - 当我尝试访问 $(ServiceConnection) 时,它只是返回了服务连接的 GUID,而不是 object
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-23
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多