我们在我的团队中使用VSTS作为CI和CD,我们有40多个存储库,它们是分开的项目。但是它们都必须在一个构建步骤中运行相同的PowerShell脚本。
PowerShell文件太大了,不能作为内联脚本保存,所以我们需要将它保存在文件中。显然,我在每个存储库中都有一个PowerShell文件的副本。
问题:
现在,每当我需要更新脚本时,我最终都会在每个存储库中更新它,目前超过40个。我认为应该有一个更好的方法。有没有办法把我的脚本放在一个回购(一个回购专用于保存脚本),然后我使用它在每个构建,因此我需要更新它,我只需要更新它一次。
发布于 2018-04-03 17:08:00
有几个选择。
我的一般建议是将脚本作为包(NuGet或其他)发布,并在应用程序构建期间恢复它。这使得消费者能够“固定”在一个已知的-好的,已知的-工作版本,并更新一个对他们有效的时间表。
另一种选择是向每个需要脚本依赖的存储库中添加一个子模块,然后在构建过程中初始化子模块。
第三种选择是将共享脚本转换为VSTS构建任务或扩展。这是广泛的文档,很容易找到,所以我不会在这里包含这样做的说明。
发布于 2018-04-05 22:25:58
您可以添加一个git存储库来存储powershell文件。然后添加一个构建步骤,在构建过程中从该存储库获取文件并使用它。
https://stackoverflow.com/questions/49633981
复制相似问题