【发布时间】:2019-11-13 08:11:49
【问题描述】:
我使用 Azure Devops 设置了 CI/CD。 每当发生合并时,我都可以从 git repo 构建源代码并将生成的构建推送到分发渠道中。
对我来说,要求更像是,当合并发生时,我想知道哪个文件被更改,我想知道文件的名称,我想复制文件的内容并将其作为请求发布有效载荷主体到 API。
所以我的疑问是?
如何找到在合并中更改的文件的名称?
如何从发生合并的 git repo 中读取特定文件的内容?
Azure devops 是否有任何预构建的 REST 客户端插件可用于将有效负载发布到服务器?
我可以编写一个 shell 脚本或其他东西来完成所有这些工作,但是如何找到因最新源代码合并而更改的文件? azure devops 提供的任何特定 API 来查找或仅查找文件的最后修改日期?
欢迎提出任何建议。
【问题讨论】:
-
对于您的大部分要求,如果您是管理员,则更容易完成。启用 webhook 和电子邮件通知后,您可以获得有关提交和合并的详细信息。但是我认为,如果特定的合并请求非常大(即作为合并请求的一部分进行的重大更改),则将已更改的文件内容作为请求有效负载发送可能是有害的
-
顺便说一句,由于您使用的是 azure devops,我想知道您是否考虑过使用 azure 管道来完成最后一部分......只是我的两分钱
-
我的两分钱 :) 很有礼貌 谢谢。任何合并都会使更改最小化。文件的新内容需要发布到一些 API tbh。这是我的要求。我已经在研究我的问题是如何知道最近的合并更改了哪个文件?
标签: git azure-devops continuous-integration continuous-deployment pull-request