12

我刚刚设置了 Jenkins,并且我的 Stash 中有一些存储库。我在 jenkins 中安装了“Git 插件”。我现在可以输入存储库 url,但没有任何东西可以输入我的凭据。

可以使用

http://username:password@mydomain/xx/yy.git 

但那是我不想做的事情。

我还能做些什么来进行身份验证?

4

4 回答 4

8

我是这个 stash 插件的作者,它可能会对你有所帮助:https ://github.com/palantir/stashbot

从自述文件中选择性地获取:

要使用 Jenkins,您必须先安装以下 jenkins 插件。

  • 詹金斯 GIT 插件
  • 后期构建任务

接下来,使用插件 SDK 构建和安装插件(自述文件中有更多详细信息)

接下来,stash 管理员进入 Stashbot Admin 页面并创建一个 jenkins 服务器配置 - 在这里你给它提供 jenkins 服务器的 URL、用户名/密码等详细信息。

接下来,对于每个存储库,都会为存储库管理员显示一个“Stashbot CI Admin”链接。从那里您可以检查“启用”复选框并告诉它您想要构建哪些分支(通过正则表达式)以及它应该运行什么命令来进行构建(可选地验证和发布)。

在此之后,其余部分完全是自助服务。任何 repo 管理员都可以通过填写该表格来要求他们的项目“拥有 CI”,并且这些工作将自动在 jenkins 服务器中创建。

希望有帮助。

于 2014-01-10T23:34:14.247 回答
6

为运行 Jenkins 构建的用户设置 SSH 密钥,并将其添加到 Stash 中存储库的 SSH 密钥。有关说明,请参阅Stash 文档

于 2013-09-26T17:20:46.063 回答
5

加雷斯的答案有两件事要补充。

  1. 虽然我同意使用 SSH 密钥肯定比硬编码用户名/密码更好,但值得一提的是,在 CI 方面,Stash(目前)可以更好地使用 HTTP。如果您有很多构建,我们通常建议使用 HTTP。我们目前正在扩展我们的 Git 缓存支持以支持 SSH,因此这不再是一个问题。

  2. 有点相关,您可能有兴趣观看和投票支持以下功能,这将使创建 CI 特定密钥变得更加容易。

最后,在 Stash 中显示构建图标非常方便,如果你还没有的话,你应该看看下面的插件:

https://github.com/jenkinsci/stashNotifier-plugin

于 2013-09-26T19:46:56.220 回答
4

由于 jenkins 的“Git 插件”版本 2.0,您应该能够直接为 ssh 和用户名/密码添加所需的凭据(基于凭据插件)。

请参阅 Git 插件的更改日志:https ://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog了解详细信息。

为了进一步集成 git 和 stash 关于拉取请求,您还需要 stash 中的“Stash Webhook for jenkins”插件和 jenkins 的“Stash Notifier”插件以相互连接。

于 2014-07-28T14:16:16.027 回答