git 在Azure DevOps中执行拉取请求后修改文件的钩子或任务

f45qwnt8  于 2023-04-28  发布在  Git
关注(0)|答案(1)|浏览(139)

我想在Azure DevOps Server中完成从特性分支到主分支的拉取请求后修改受保护的主分支中的一些文件。
一个文件需要重命名,另一个文件需要创建,第三个文件中有一个字符串要替换。
这是否可以通过服务器端的git钩子或Azure Pipeline或Task实现(抱歉,我是新手)。

更新

挂钩或管道应做到以下几点:
1.检查文件是否当前。sql有任何内容(如果有,请转到下一步)
1.更新C#类中的整数变量(DbVersion)(加1)
1.重命名当前。db_update_[new DbVersion]。SQL
1.创建新的空电流。sql文件

6rvt4ljy

6rvt4ljy1#

你的场景描述有点模糊,但我会根据我对你想要做的事情的理解写一些答案:
通常,在构建管道中修改分支不是一个好的做法。如前所述,您应该在将pull请求合并到分支中之前这样做。
对于你所描述的,知道Git会自动处理版本控制可能是件好事。每次提交都会创建更改文件的新版本,您可以在Azure DevOps的提交历史记录中找到该版本。在我看来,你基本上只是不想失去你在你的编辑。sql文件。
但是,如果您需要新版本的文件作为管道创建的构建工件的一部分,那么编写一个简短的shell脚本可能是有意义的,您可以通过shell script task运行该脚本。对于字符串替换,使用"Replace token" task

另一个解决方案可能是一个pre-push githook,它会执行一个shell脚本来创建新文件?你可以阅读更多关于githooks here的内容。

我希望你在这里找到了一些有用的东西,否则最好知道你想对你创建的版本做什么。你以后会用这些版本吗?也许重新考虑一个不同的分支模型会更好,它支持多个环境。

相关问题