问题标签 [jenkins-github-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1641 浏览

jenkins - 轮询忽略多分支管道中某些路径中的提交

我有一个多分支管道,其中包含一个只有在特定目录发生更改时才想构建的项目。

我知道该Polling ignores commits in certain paths选项可以做到这一点,但我在多分支配置中找不到此选项。

这甚至可能用于多分支管道吗?

0 投票
0 回答
98 浏览

jenkins - 触发 github 合并的开源 jenkins 作业

这是我们的工具集: jenkins:在 AWS 服务器上运行的开源 Jenkins - 2.107.2 Github:2.13.3 版本

要求:我们需要创建一个 GitHub 钩子,如果有人合并分支(创建拉取请求并合并它),那么它应该触发 Jenkins 作业。我们不使用多分支管道,我们只使用管道作业,即我们使用 jenkisnfile 来运行我们的工作。

所以,我在 github webhooks 中启用了“PullRequestEvent”。然后我在 Jenkins 作业中为该特定作业启用了 scm 轮询。但是,问题是该作业被触发以提交到 xyz 分支以及如果我们合并拉取请求。但是,预期的行为是,作业应该只为合并触发。

詹金斯配置:

詹金斯配置

0 投票
1 回答
9165 浏览

jenkins - Jenkins 为来自 GitHub 的 PR 构建失败

我正在使用 jenkins 管道来构建我的 github 项目。当我在 GitHub 上提出拉取请求 (PR) 时,它会创建一个工作“pr-head”

工作截图

一直失败并出现以下错误

错误截图

如果您对此有任何建议,请告诉我

甚至Git PullRequest 作业中的答案也失败了。找不到要构建的任何修订。验证此作业的存储库和分支配置没有解决我的问题

0 投票
0 回答
64 浏览

jenkins - 没有 Jenkinsfiles 的 Jenkins “github 组织” - 可能吗?

我们正在使用 github 组织插件来自动发现和构建大量存储库。

这些 repos 应该都运行完全相同的管道,我们希望在 devops 级别上对其进行控制。即没有 Jenkinsfile 存在于各个存储库中。

我曾考虑使用共享库来共享逻辑,但主要障碍是从各个存储库中一起删除管道定义。脚本化管道似乎不适用于此项目类型。

有没有人对如何做到这一点有建议?

0 投票
1 回答
242 浏览

jenkins - GitHub 集成

我正在尝试将 GitHub 与 Jenkins 集成。我在配置下收到以下错误消息:

无法连接到存储库:命令“git.exe ls-remote -h https://github.com/Ajith-Raman/Sample_Repo.git HEAD”返回状态代码 128:stdout:stderr:致命:无法访问' https: //github.com/Ajith-Raman/Sample_Repo.git/ ': CONNECT 后从代理收到 HTTP 代码 404

有人可以帮我吗?

请在下面找到以下步骤:

  1. 使用 root 用户创建 ssh 文件。即 C:\Users\C51539A.ssh 在我的情况下(本地 VM)。

    所有的执行都是通过 Jenkins 进行的(凭证 - 管理员/管理员)。

  2. 将 .ssh 文件夹复制到 C:\Program Files (x86)\Jenkins\users\admin (Jenkins_Home)。也尝试了上述步骤,创建一个新用户(jenkins/jenkins)。

  3. 将公钥 (id_rsa.pub) 复制到我的 github 帐户(在 SSH 和 GPG 密钥下)。

  4. 将远程 URL 从 https 切换到 ssh。即https://github.com/Ajith-Raman/Sample_Repo.git到 git@github.com:Ajith-Raman/Sample_Repo.git 在我的情况下。

  5. 在 Jenkins 中,在 Credentials SSH Username with private key 下 ---> 直接输入私钥(我相信,它是 id_rsa 中的密钥)。

  6. 将所有权更改为 jenkins 用户(在我的情况下为管理员)没有引发错误消息。同时,所有权从未改变。不理解这种奇怪的行为。注意:Jenkins 已重新启动。

问候, 阿吉斯

0 投票
1 回答
63 浏览

jenkins-2 - Jenkins2 - 尝试使用“执行外壳”执行 Git 命令时出错

我正在使用 Jenkins 2 并尝试使用 Build 部分中的“Execute Shell”执行以下 GIT 命令。

git config --global user.email $GITHUB_LOGIN git config --global user.name $GITHUB_LOGIN

git tag -a $BUILD_NUMBER -m "版本 $BUILD_NUMBER" git push origin --tags

有了这个,我在运行作业时遇到了错误

  • git push origin --tags fatal:无法读取“ https://github.com ”的用户名:设备未配置

在构建日志中,我观察到下面的声明,根据我的理解,我相信 Jenkins 正在使用 GIT_ASKPASS 从 GitHub 中提取更改。

使用 GIT_ASKPASS 设置凭据 GitHubCredentials

话虽如此,有人可以帮助我了解我是否可以使用“GIT_ASKPASS”来解决此问题吗?如果是,我该如何在我的情况下使用它?

0 投票
1 回答
487 浏览

jenkins - 安装 Github 集成插件后 Jenkins 崩溃

我一遍又一遍地阅读了这个问题:Jenkins Crashes after installed GitHub Plugin,但我没有找到解决方案。所以我想再问一次。

我的 Jenkins 服务器一开始工作得很好,我想添加一个钩子,只要有提交推送到我的仓库,就会触发构建;然后我提到了第一步——从这个站点安装一个插件:Triggering a Jenkins build from a push to GitHub,在我完成插件安装后,我点击了页面底部的“重新启动”复选框,然后它崩溃了。我试图重新启动我的 Jenkins 服务,它一直给出同样的错误。所以我只是使用ps工具终止了该进程,然后再次重新启动,现在它给出了 HTTP 503 错误。我真的需要一些帮助来解决这个问题。实际上,我在 Stack Overflow 和 Jenkins 在线社区上发现了非常相似的问题,但没有一个能解决我的问题。

我尝试如下:删除 jenkins/plugins 文件夹中的所有文件并重新启动,但不工作。

我在我的 Linux 机器上部署了 Jenkins,它是 SUSE Linux Enterprise。请提供一些帮助,不胜感激。

0 投票
1 回答
1041 浏览

git - 在 Jenkins Git 插件中指定 git 命令

我编写了以下 ant 目标以从 GitHub 存储库中获取代码。

当我从命令提示符运行它时,目标工作正常。但是,当我尝试从 Jenkins 运行它时,它会失败并出现以下错误:

BUILD FAILED C:\Users\PJai12\test\build.xml:66: Execute failed: java.io.IOException: Cannot run program "git": CreateProcess error=2, 系统找不到 java.lang 指定的文件。 ProcessBuilder.start(ProcessBuilder.java:1048) at java.lang.Runtime.exec(Runtime.java:620) at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58) at org .apache.tools.ant.taskdefs.Execute.launch(Execute.java:428) 在 org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:442) 在 org.apache.tools.ant.taskdefs .ExecTask.runExecute(ExecTask.java:629) 在 org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:670) 在 org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java :496) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293) 在太阳。reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke( Method.java:498) 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 在 org.apache.tools.ant.Task.perform(Task.java:348) 在 org.apache .tools.ant.Target.execute(Target.java:435) 在 org.apache.tools.ant.Target.performTasks(Target.java:456) 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java :1405) 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 在 org.apache.tools 的 org.apache.tools.ant.Project.executeTarget(Project.java:1376)。 ant.Project.executeTargets(项目。java:1260) 在 org.apache.tools.ant.Main.runBuild(Main.java:853) 在 org.apache.tools.ant.Main.startAnt(Main.java:235) 在 org.apache.tools.ant .launch.Launcher.run(Launcher.java:285) 在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)

为了确保 Jenkins 正确配置了 git 路径和 ssh 凭据,我创建了另一个作业。这项工作只是通过 Jenkins GitHub 插件从同一存储库中轮询 scm。它工作得很好。

这是 Jenkins 中的 GIT 配置:https ://imgur.com/a/noFJ9M4

0 投票
1 回答
4081 浏览

git - 吉特 | 詹金斯 | 权限被拒绝(公钥)

我们有一个共同的 LDAP 帐户/用户。我们计划使用此用户为我们的团队配置 Jenkins。

  1. 我使用我的登录名登录到机器/VM 并安装了 Jenkins。
  2. 然后我只从我的帐户生成了 ssh 密钥,但我在生成 ssh 密钥时提供的电子邮件 ID 是普通用户。
  3. 然后我将公共 ssh 密钥添加到 GitHub(在 Github 中我使用普通用户登录)。
  4. 将私钥添加到 Jenkins SSH 凭证插件。
  5. 创建了一个轮询 SCM 的作业,它运行良好。
  6. 我需要执行一些 git 命令(即 pull、checkout、tag 等...)。因此,我正在编写 ant 脚本来实现这一点。
  7. 当我通过 Jenkins 执行 GIT ant 目标 [1] 时,出现以下错误:

获取:[回声] --------------------------------------------- ------------

[echo] 从 git@github.XYZ.com:XYZ/ABC master 获取最新消息

[回声] ----------------------------------------------------------- ----------

[exec] git@github.XYZ.com:权限被拒绝(公钥)。

[exec] 致命:无法从远程存储库读取。

[执行]

[exec] 请确保您拥有正确的访问权限

[exec] 并且存储库存在。


我是否必须使用通用帐户/用户登录 VM 并生成 ssh 密钥然后使用这些密钥?如果是,那么第 5 点如何正常工作?如果不是,我在这里做错了什么?

[1] -在 Jenkins Git 插件中指定 git 命令

0 投票
2 回答
458 浏览

shell - Why is the $payload an empty variable?

Software Versions: github-plugin version 1.29.3
Jenkins ver. 2.163 nginx reverse proxy

Current State No communication issues, and build triggers from the push event. However no values in $payload

GitHub Configuration:

Github Webhook: on repo https://username:password@publicIP:port/github-webhook/

Content type (tested both application/x-www-form-url-urlencoded & application/json)

Event type: Just the push Event

..

Jenkins Configuration:

GitHub Project: Populated with the project URL

This project is parameterized: String parameter payload

Source Code Management: REPO URL & Creds Branch Master

Build Triggers: GitHub webhook trigger for GITScm polling

Build Execute Shell:

#xA;

Output: is blank for the $payload the build worked! The payload is