在Github上触发特定Jenkins作业推送到特定目录

时间:2017-12-01 19:41:08

标签: git github jenkins githooks

我运行了几个Jenkins Job,它将代码部署到应用程序服务器。只要在Github和webhook中通过Jenkins插件配置Github存储库中的Commit,这些作业就会自动运行。 Jenkins正在Windows系统上运行。

我们在存储库中有几个应用程序,由包含代码的目录表示,每个应用程序都有一个相应的Jenkins作业,它在运行作业时将代码部署到服务器。 由于所有应用程序都在同一个存储库中,因此在任何一个应用程序中进行更改都会创建一个Push事件,从而对所有作业进行欺骗。

假设有三个应用 App1 App2 App3 ,其相应的作业 J1 J2 J3 并且App1发生了变化,并且在Github存储库中进行了提交,导致所有作业 J1 J2 J3 触发和部署服务器中的 App1 App2 App3

由于 App2 App3 在存储库中没有任何更改但仍会部署到服务器,因此会造成不必要的混淆。 有没有办法可以根据Github存储库中的目录级别更改/提交来触发特定的Jenkins作业构建。我们可以以某种方式使用任何git钩子来实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

为了实现这一点,您可以将结账稀疏到git中的特定目录,以便每个jenkins作业彼此互为。

  

jenkins job configure - >源代码管理 - > Git - >附加行为 - >添加 - >稀疏结账路径

这将简单地将checkout稀疏到子目录,并检查该目录是否有任何提交。希望这会有所帮助。