Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何让Jenkins在git commit上做任何事情?_Git_Github_Jenkins_Continuous Integration - Fatal编程技术网

我如何让Jenkins在git commit上做任何事情?

我如何让Jenkins在git commit上做任何事情?,git,github,jenkins,continuous-integration,Git,Github,Jenkins,Continuous Integration,我已经安排詹金斯了。意思是,我现在有了网络用户界面。但是文档很少,我最不清楚的是,当我向GitHub提交时,Jenkins做了什么 我看到一些Git/GitHub插件,但是我如何让它们工作呢?或者我如何检查它们是否工作?最简单的方法或许可以,但提及替代方案可能会得到更好的答案 让我补充一点,我不希望Jenkins在GitHub组织中构建每个项目。这取决于所选择的工作类型 对于多分支管道,您必须添加分支源。您可以在这里指定所有者(GitHub用户,负责回购)。选择/添加GitHub用户的凭据(例如

我已经安排詹金斯了。意思是,我现在有了网络用户界面。但是文档很少,我最不清楚的是,当我向GitHub提交时,Jenkins做了什么

我看到一些Git/GitHub插件,但是我如何让它们工作呢?或者我如何检查它们是否工作?最简单的方法或许可以,但提及替代方案可能会得到更好的答案


让我补充一点,我不希望Jenkins在GitHub组织中构建每个项目。

这取决于所选择的工作类型

对于多分支管道,您必须添加分支源。您可以在这里指定所有者(GitHub用户,负责回购)。选择/添加GitHub用户的凭据(例如,用户名和密码)。选择存储库。然后单击保存

您还必须将
Jenkinsfile
添加到回购协议的根目录中,例如

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                echo 'Building...'
            }
        }
    }
}
进行推送,您将在构建历史中看到您的构建

对于管道作业作业,您可能需要选中“GitHub项目”,填写“项目url”文本字段(例如),并选中“GITScm轮询的GitHub钩子触发器”。但我没能成功

对于自由式项目,您必须选中“GitHub项目”复选框,指定“项目url”(如),为源代码管理选择Git,指定存储库url(如,git@github.com:rails/rails.git),并添加/选择Jenkins能够签出回购协议的凭据

最后,您需要“SSH用户名和私钥”凭据。一种方法是在jenkins用户下生成ssh密钥对(
ssh-keygen
)。为Username指定有权访问repo的GitHub用户帐户的名称。和“来自Jenkins master ~/.ssh”作为私钥


然后选中“GitHub钩子触发器用于GITScm轮询”复选框。此外,您还可以添加构建步骤以确保其正常工作。例如,使用“echo test”命令“Execute shell”。

查看本文是否有帮助-此链接可能会有所帮助:您可以使用上记录的Git webhooks,或者在作业中返回到“Poll SCM for changes”选项。GitHub插件还介绍了如何设置钩子来触发Jenkins中的作业。@nisargshah95 DoNhuVy感谢您提供的链接。我仍在努力让它发挥作用。我在系统日志中看到来自GitHub的通知。但什么也没发生。我已经创造了一份工作。它选中了“GIthub项目”,指定了“项目url”,还选中了“GITScm轮询的GIthub钩子触发器”。项目url基本上与日志中的内容匹配,除了尾部斜杠。但当我试图移除它时,它再次出现。有什么我可以检查的吗?@Christopher和Pipeline job一起,我在Jenkins的系统日志中看到了来自GitHub的通知。但构建不会被触发。有什么想法吗?