【问题标题】:Azure Pipelines. Run script from resource repoAzure 管道。从资源仓库运行脚本
【发布时间】:2021-08-20 10:15:01
【问题描述】:

我在 repo 中有 azure pipline 的 yaml 文件。而且我需要从不同的 repo 运行 powershell 脚本。

据我了解,我可以将侧回购添加到 yaml 中的 resources 部分,然后使用 task:ShellScript@2scriptPath 参数。但据我了解,它相对适用于放置 yaml 的仓库。而且我不确定如何从不同的仓库访问文件。

【问题讨论】:

  • 如果我理解正确,唯一的方法就是以某种方式获取该文件。例如 1. 另一个仓库“发布”文件并将其存储在某处 - 2. 你对管道中的另一个仓库执行git clone
  • 是的,我在存储脚本的 azure DevOps 中有一个存储库。让我们称之为AppRepo。我还有第二个带有 yaml 文件的文件。我们称之为BuildRepo 正如我从docs 了解到的,我们可以通过资源部分添加AppRepo。但是我不知道如何从这个 repo 中引用任何文件(在我的情况下是 shellscript)?也许有一些特定的语法或其他东西?
  • 那么您需要来自两个存储库的文件吗?或者您只需要来自 AppRepo 的文件?如果您需要两者的文件,据我所知,您不能只是参考。从BuildRepo,您可以在AppRepo 中获取管道的工件(输出) - 所以我将在AppRepo 中创建一个管道,将publish 文件作为工件。然后你可以从BuildRepo pipelines 消费它
  • “从 BuildRepo 中,您可以在 AppRepo 中获取管道的工件(输出) - 所以我将在 AppRepo 中创建一个管道,将文件作为工件发布。”是的,这就是我想要做的。我有一个从AppRepo 发布构建结果的管道,然后我想将其添加到BuildRepo 中的yaml 并从中引用PS 文件?有可能吗?
  • Krzysztof Madej 的回答怎么样?它应该是您问题的解决方案。如果没有,请告诉我有关此问题的最新信息吗?

标签: azure azure-devops azure-pipelines devops


【解决方案1】:

是的,您必须使用存储库资源并按如下方式签出该存储库:

resources:
  repositories:
    - repository: devops
      type: github
      name: kmadof/devops-templates
      endpoint: kmadof


steps:
- checkout: self
- checkout: devops
- task: ShellScript@2
  inputs:
    scriptPath: $(Agent.BuildDirectory)/devops/scripts/some-script.sh

【讨论】:

    猜你喜欢
    • 2020-12-15
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    • 2019-03-28
    • 1970-01-01
    • 2019-04-14
    相关资源
    最近更新 更多