【问题标题】:Azure DevOps Pipeline: AWS CLI Task, How to reference predefined variablesAzure DevOps Pipeline:AWS CLI 任务,如何引用预定义变量
【发布时间】:2021-09-23 09:42:08
【问题描述】:

我正在使用 AWS CLI 任务来部署 Lambda 层。上游的构建管道如下所示:

它压缩代码,发布工件,然后下载该工件。

现在在发布管道中,我正在通过 AWS CLI 命令部署该工件。发布管道如下所示:

我正在尝试找出一种动态获取当前工作目录的方法,因此我不需要对其进行硬编码。在选项和参数部分,您可以看到我正在尝试使用 $(Pipeline.Workspace) 但它无法正确解析。

这可能吗?

【问题讨论】:

    标签: amazon-web-services azure-devops azure-pipelines


    【解决方案1】:

    如果我错了,请纠正我,但我看起来你是在 Azure 版本中运行这个?不是管道?

    如果是这种情况,我认为您要查找的变量是 $(Release.PrimaryArtifactSourceAlias) 。

    请参阅文档中有关发布特定变量的部分:https://docs.microsoft.com/en-us/azure/devops/pipelines/release/variables?view=azure-devops&tabs=batch#default-variables---release

    【讨论】:

      【解决方案2】:

      是的。这是完全可以实现的。

      从您的屏幕截图中,您正在使用发布管道来部署工件。

      在您的情况下,$(Pipeline.Workspace) 只能在 Build Pipeline 中使用。

      请参阅此文档:Classic release and artifacts variables

      您可以使用变量:$(System.ArtifactsDirectory)$(System.DefaultWorkingDirectory)

      在发布部署期间将工件下载到的目录。如果需要将工件下载到代理,则在每次部署之前都会清除该目录。与 Agent.ReleaseDirectory 和 System.DefaultWorkingDirectory 相同。

      【讨论】:

      • 这不太行,它解析为工作目录,但不包括存储工件的路径。
      猜你喜欢
      • 1970-01-01
      • 2020-07-19
      • 2019-04-02
      • 1970-01-01
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多