18

我的公司现在正在使用 Subversion,我们让 Jenkins 拉动 SCM 进行更改,如果有任何更改,它将执行 Maven 构建。

我们正在迁移到 Git,但我看不到任何方法可以拉动 Git 存储库以进行更改……我错过了什么吗?

4

5 回答 5

24

您可以配置 Jenkins Git 插件来轮询您的存储库以进行更改,但推荐的方法是在您的存储库中添加一个 post-receive(也称为 post-commit)挂钩。这样,Jenkins 在每次提交时都会立即收到通知。

你可以在这里阅读更多:https ://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

于 2013-02-12T21:10:36.377 回答
10

您可能没有安装 Git 插件,这就是您看不到选项的原因。您将永远不必为 subversion 执行此操作,因为默认情况下是该插件。您可以使用 Jenkins 中提供的自动安装程序来安装插件,也可以手动安装(如果您在公司防火墙后面很有用)。

一些有用的链接:Git 插件:https ://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

GitHub 插件:https ://wiki.jenkins-ci.org/display/JENKINS/GitHub+Plugin

Bitbucket 插件:https ://wiki.jenkins-ci.org/display/JENKINS/Bitbucket+OAuth+Plugin

谷歌代码插件:https ://wiki.jenkins-ci.org/display/JENKINS/Repo+Plugin

Git 参数插件:https ://wiki.jenkins-ci.org/display/JENKINS/Git+Parameter+Plugin

GitLab 钩子插件:https ://wiki.jenkins-ci.org/display/JENKINS/Gitlab+Hook+Plugin

所有插件的大列表:https ://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-Sourcecodemanagement

CloudBees提供 Jenkins 持续集成和 Git 托管即服务 - 这也可能对您有所帮助http://www.cloudbees.com/#slide-2

祝您迁移顺利。在执行类似迁移时,我们在 Maven 发布插件中发现了一些问题——如果我必须再次这样做,我会事先发布一些专业版本。

于 2013-08-01T10:33:09.953 回答
8

首先您需要配置 Jenkins Git 插件,其中包括 Git 客户端、Git hook up 等。然后转到 GitHub 帐户并导航到

设置 → 服务挂钩 → WebHook URL。

您需要提供运行 Jenkins 的机器主机名以及 Jenkins 端口号。

WebHook URL 类似于 - http://host_name:8080/github-webhook/(其中 8080 是默认的 Jenkins 端口)

当您将更改推送到 GitHub 时,GitHub 将使用 POST 请求访问这些 WebHook URL,并传递有关推送的信息。

Jenkins 提供了一些构建触发器选项,如下所示 -

  1. 将更改推送到 GitHub 时构建。
  2. 轮询单片机
  3. 以一定的时间间隔构建
  4. ETC...

选择最适合您要求的。

于 2013-07-04T07:33:31.713 回答
1

Jenkins 有一个Git 插件,其中包含许多您可能需要的有用信息。是一个可能对您也有帮助的帖子。

于 2013-02-12T21:11:16.677 回答
1

为了在 Jenkins 中使用 Git,需要安装以下两个插件:

1. Git-Client-plugin
2. Git-plugin

第一个插件(Git-Client-plugin)是执行 git 操作(git add、git commit、git push、git clone 等)的低级 API。

第二个插件 (Git-plugin) 添加 Git 作为 Jenkins 作业的 SCM 选项。

第二个插件依赖于第一个插件的功能,因此两者都必须存在,Git 才能与 Jenkins 一起工作。

于 2015-06-19T08:54:08.037 回答