如何使用Jenkins对放置在Bitbucket存储库中的多个Maven项目实现CI

时间:2018-10-11 20:58:07

标签: maven jenkins bitbucket nexus

Jenkins和bitbucket的新手。

我们在git bitbucket的一个存储库下维护了几个独立的maven项目(带有自己的pom文件的microservices项目)。我们正在尝试使用Jenkins自动化部署过程。 截至目前,我们已经使用在线教程创建了一个Jenkins maven作业,该作业能够从bitbucket git中提取一个maven项目,并将代码构建并部署到我们的服务器。 有没有一种方法可以配置Jenkins作业以扫描Bitbucket存储库并提取最近更新的项目,然后构建它们并将其部署到服务器?是否可以通过使用任何动态参数的单个作业来实现?还是我们需要为每个项目配置一项工作?

感谢您的帮助!!预先感谢。

1 个答案:

答案 0 :(得分:2)

是否可以配置Jenkins作业以扫描位存储库并提取最近更新的项目,然后构建它们并将其部署到服务器?

是的,您可以在每个存储库的Bitbucket中设置Webhook触发器,以使用Jenkins通用Webhook触发器插件来调用您的Jenkins管道。有关该插件的更多信息,请参见此处-https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin

或者首先可以使用Bitbucket Branch Source插件或Git插件。更多信息,请点击https://mohamicorp.atlassian.net/wiki/spaces/DOC/pages/121274372/Configuring+Webhook+To+Jenkins+for+Bitbucket

但是,请注意,webhook触发器在存储库级别而不是分支级别起作用。为了使其仅适用于特定分支,我建议读取/处理来自Bitbucket的传入Webhook,并且仅在webhook来自master或hotfix分支等时才触发ex的管道。这可以通过Jenkins Generic Webhook Trigger插件实现

这可以通过使用任何动态参数的单个作业来实现吗?

是的,您可以使用单个管道充当Webhook处理器,并读取来自任何存储库的传入Webhook,并使用动态变量触发相应的管道。对于前。您可以将管道名称格式设置为build_ {repo_name} _ {branch_name}。您可以从传入的Webhook插入回购名称和分支名称值。

还是我们需要为每个项目配置一个作业?

这真的是您的首选项:)我建议您使用其他选项,并选择适合您要求的选项。