【问题标题】:How to use powershell/bash script file in azure pipeline template如何在 azure 管道模板中使用 powershell/bash 脚本文件
【发布时间】:2020-03-28 19:56:15
【问题描述】:

示例:Azure Devops,我有一个组织,几个项目,每个项目内部的存储库也很少(其中大部分包含构建管道):

组织:
..-- 项目1
.....-- Repo1
.....-- Repo2
..-- 项目2
.....-- Repo1
.....-- Repo2
..-- 构建模板
.....-- BuildTemplatesRepository
........-- Template1.yml
........-- Template2.yml
........-- 模板1.ps1

Template1.yml 包含 powershell 任务或步骤: - pwsh:./Template1.ps1

问题: 当 Template1.yml 在来自另一个 repo (Project1/Repo1/azure-pipelines.yml) 的管道内执行时,我收到错误:
[错误]ENOENT:没有这样的文件或目录,stat '/home/vsts/work/1/s/Template1.ps1'

我明白为什么会出现错误,因为 *.ps1 文件没有复制到正在进行进程的容器内,但是如何以最佳方式解决此问题(无需手动处理此脚本)?

【问题讨论】:

  • 无法获取您的最新信息,该解决方法对您有帮助吗?或者,如果您有任何疑问,请随时在此处分享。

标签: azure-devops azure-pipelines azure-template


【解决方案1】:

对于这个问题,您可以查看管道中的多个存储库。

管道通常依赖于多个存储库。您可以拥有不同的存储库,其中包含构建代码所需的源、工具、脚本或其他项目。通过在您的管道中使用多个 checkout 步骤,您可以获取和签出除了用于存储 YAML 管道的存储库之外的其他存储库。

因此您可以查看其他包含 Template1.ps1 的存储库。

steps:
- checkout: git://MyProject/MyRepo # Azure Repos Git repository in the same organization

详情请参考本官方document

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2011-05-24
    • 2021-12-29
    相关资源
    最近更新 更多