我该如何在Atlassian Stash中使用Jenkins?

12

我刚刚搭建了Jenkins,并在我的Stash中有一些存储库。 我在Jenkins中安装了“Git插件”。 现在,我可以输入存储库的URL,但没有地方输入我的凭据。

可以使用

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

但那是我不想做的事情。

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

4个回答

8
我是这个stash插件的作者,它可能会对你有所帮助:https://github.com/palantir/stashbot
从readme中选择性地摘取一些信息:
要与Jenkins一起使用,您必须首先安装以下Jenkins插件。
- Jenkins GIT插件 - Post build task
接下来,使用插件SDK构建和安装插件(更多详细信息请参阅readme)。
然后,stash管理员进入Stashbot管理页面并创建一个Jenkins服务器配置-在此处,您可以提供Jenkins服务器的URL、用户名/密码等详细信息。
接下来,每个存储库都会显示“Stashbot CI Admin”链接供存储库管理员使用。从那里,您可以选中“启用”复选框,并告诉它您想要构建哪些分支(通过正则表达式)以及应该运行什么命令来执行构建(可选验证和发布)。
在此之后,剩余部分完全是自助服务。任何存储库管理员都可以通过填写该表单请求其项目“具有CI”,并且作业将自动在Jenkins服务器中创建。
希望这可以帮到您。

1
请总结如何解决原帖作者的实际问题。包含链接是可以的,但仅提供链接的回答是不被鼓励的。 - tripleee
1
根据 README 中的详细信息进行更新。 - cmyers

6

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


5

在 Gareth 的答案中,还有两点需要补充。

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

  2. 有些相关性的是,您可能会对观看并投票支持以下 特性 感兴趣,它将使创建 CI 特定密钥变得更加容易。

最后,Stash 中显示构建图标非常方便,如果您尚未使用过,请查看以下插件:

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


值得注意的是,目前stash在使用http(s)克隆时会随机失败,但使用git协议则不会。=(https://jira.atlassian.com/browse/STASH-6887 - cmyers

4

自从jenkins的“Git插件”升级到2.0版本后,你可以直接添加所需的ssh和用户名/密码凭据(基于凭据插件)。

详细信息请参见“Git插件”的变更日志:https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog

如果需要进一步整合git和stash以进行pull request,则还需要在stash中安装“Stash Webhook for jenkins”插件,并在jenkins中安装“Stash Notifier”插件以相互连接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接