基于事件的Github模块项目部署

时间:2018-08-14 06:22:03

标签: git jenkins github deployment

我有一个GitHub存储库,其中包含许多单独的Maven项目。我有一个私人的Jenkins,它每2小时轮询一次该GitHub存储库,以跟踪GitHub存储库中发生的Commits和PullRequest事件。每当发现任何新的Commits和PullRequest事件时,Jenkins作业都会很好地触发。

我的GitHub项目层次结构如下所示:

└─ ProjectRootDir  
             │                                
             ├─ ProjectModuleA
             │     ├─ project1
             │     ├─ project2
             │     ├─ project3
             │     ├─ project4
             │     ├─ project5
             │     └─ project6
             │
             ├─ ProjectModuleB
             │     ├─ project7
             │     ├─ project8
             │     └─ project9
             │
             ├─ ProjectModuleC
             │     ├─ project10
             │     └─ project11
             │
             ├─ ProjectModuleD
             │     ├─ project12
             │     ├─ project13
             │     ├─ project14
             │     ├─ project15
             │     ├─ project16
             │     └─ project17
             │
             └─ pom.xml

问题陈述:

假设某人向 ProjectModuleA project3 提交了一些文件。当詹金斯(Jenkins)轮询时间到来时,将成功触发作业,因为在GitHub中检测到一个事件。但是现在的问题是,我只想将 project3 部署到服务器。

我已经遍历了GitHub API,在其中我看到了许多用于获取事件(拉,提交,推等)的API。

https://api.github.com/repos/my-github-repo/events

但是我怎么知道它提交到哪个项目,以便我可以选择性地部署该特定项目(即 project3

0 个答案:

没有答案