我们在我的团队中使用VSTS用于CI和CD,我们有超过40个存储库,这些存储库是分开的项目。但是他们所有人都必须在他们的一个Build步骤中运行相同的PowerShell脚本。
PowerShell文件太大而无法保留为内联脚本,因此我们需要将其保存在文件中。显然,我在每个存储库中都获得了PowerShell文件的副本。
问题:
现在每当我需要更新脚本时,我最终都会在每个存储库中更新它,目前已超过40个。 我认为应该有更好的方法。有什么方法可以将我的脚本放在一个单独的仓库(一个专用于保存脚本的仓库)然后我在每个构建中使用它,因此我需要更新它我只需要更新一次。
答案 0 :(得分:2)
有几个选择。
我的一般建议是将脚本作为包(NuGet或其他)发布,并在应用程序构建期间将其还原。这使得消费者可以留下来固定#34;到已知良好的已知工作版本,并根据适合他们的计划进行更新。
另一种选择是向需要脚本依赖性的每个存储库添加一个子模块,然后在构建过程中初始化子模块。
第三个选项是将共享脚本转换为VSTS构建任务或扩展。这是一个广泛记录和易于定位的地方,因此我在这里通过包含相关说明来赢得这一点。
答案 1 :(得分:0)
您可以添加git存储库来存储您的powershell文件。 然后添加一个构建步骤,以便在构建期间从该存储库获取文件并使用它。