在Azure DevOps中重用PowerShell脚本

时间:2018-09-20 14:43:18

标签: azure-devops azure-pipelines

我有一个PowerShell脚本,我想在多个构建管道中重复使用。我的问题是,有没有一种方法可以在项目或组织范围内“存储”或“保存” PowerShell脚本,以便可以在其他构建管道中使用它?如果是这样,怎么办?我似乎找不到解决方法。不过,这将非常方便。

4 个答案:

答案 0 :(得分:0)

从我所见,没有。

我探索了几种不同的选择:

  • 如果使用非托管代理,请将文件保存到构建服务器上。诚然,这不能很好地扩展,但是比完全复制/粘贴脚本要好。我能够将这些脚本放入版本控制中,并通过它们自己的管道进行部署,因此这可能是扩展的解决方案(如有必要)
  • 在此过程中克隆另一个具有这些共享脚本的存储库。

我一直在要求此功能,但是Azure DevOps团队似乎具有更高的优先级。

答案 1 :(得分:0)

根据泰斯语脚本的大小,您可以创建包含powershell-task的任务组,并将脚本作为inline-powershell。但这仅适用于project-scope。.

我要尝试的另一种尝试是创建一个包含您的powershell脚本的存储库,将此存储库添加为要构建的存储库中的子模块,然后从submodule-folder调用脚本。但这仅在使用git-repos时有效。

或者您可以创建一个包含脚本的自定义构建任务。

答案 2 :(得分:0)

如何将Powershell放入nuget包中并将其安装在相关项目中?

答案 3 :(得分:0)

我刚刚发现了YAML模板(https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azdevops#step-re-use)。

在这种情况下,我认为这可能会对您有所帮助(取决于文件的大小),您可以在该模板yaml中放入一个内嵌的powershell脚本,然后在您的主yaml上重新使用它。

文档是非常简单的。