【发布时间】:2018-05-15 23:19:57
【问题描述】:
我有几个 Jenkins Job 正在运行,将 Deploy 的代码部署到应用程序服务器。每当通过 Github 和 webhook 中的 Jenkins 插件配置的 Github 存储库中有 Commit 时,这些作业就会自动运行。 Jenkins 在 Windows 系统上运行。
我们在存储库中有几个应用程序,由一个包含代码的目录表示,每个应用程序都有一个相应的 Jenkins 作业,当作业运行时将代码部署到服务器。 由于所有应用程序都在同一个存储库中,因此任何一个应用程序的更改都会创建一个 Push 事件,从而触发所有作业。
假设有App1、App2和App3三个Application,它们对应的Jobs分别是J1、J2、J3 并且 App1 发生了变化,并且在 Github 存储库中进行了提交,这导致所有作业 J1、J2、J3 触发并部署App1、App2、App3 在服务器中。
这会导致不必要的混淆,因为 App2、App3 在存储库中没有任何更改,但仍会部署到服务器。 有什么方法可以根据 Github 存储库中的目录级别更改/提交触发特定的 Jenkins 作业构建。我们可以使用任何 git 钩子来实现这一点吗?
【问题讨论】:
标签: git github jenkins githooks