获取已在git存储库中修改的项目

时间:2016-11-28 07:26:29

标签: git jenkins jenkins-pipeline

所以我试图在Jenkins中创建一个连续交付的管道。我的第一步是将git存储库导入我的Jenkins服务器。为了给出一个想法,我的git存储库托管在bitbucket服务器上(例如testrepository.git)。现在在此存储库中,结构如下

Testrepository.git

  • 项目1
  • project 2
  • 项目3

我的目标是获取已修改的项目列表,并仅构建我的管道中的项目。有没有办法实现这个目标?所有项目都是带有gradle构建文件的java项目

1 个答案:

答案 0 :(得分:1)

git log --name-only将显示每次提交中修改的文件名列表。您可以分析文件名列表以判断哪个项目已被修改。

如果您持续投放,则可以从上次投放中获取修改后的文件列表 通过以下命令,假设" 2016-11-10 16:00"是你的最后一个交付时间戳。

git diff $(git rev-list -n 1 --before="2016-11-10 16:00" HEAD) --name-only