我如何让jenkinsbuild立到一个BitBucket git存储库?
我有一个托pipe在BitBucket上的git存储库,并且已经在存储库和我的Jenkins服务器之间build立了SSHvalidation。 我可以手动构buildJenkins,但不能在BitBucket上获得Jenkins服务来触发构build。
Jenkins configuration: - Project Name: [my_jenkins_job] - Build Triggers: --Trigger Builds Remotely: ---Token: [token] BitBucket configuration: - Endpoint: http://[my_jenkins_address]/job/[my_jenkins_job]/build (I've also tried build?token=[token]) - Project Name: [my_jenkins_job] - Module Name: [blank] - Token: [token]
访问http:// {my_jenkins_address}
/ job / {my_jenkins_job}
/ build?token = {token}
正确启动构build。
为什么不推动对BitBucket的更改导致Jenkins启动构build?
我有我们的Jenkins实例设置每分钟轮询存储库。 这是不是你的需求不够频繁?
我们的Jenkinsconfiguration:
构build触发器>调查SCM =检查
构build触发器>调查SCM> Schedule =
# every 1 minute */1 * * * *
由于Bitbucket的Jenkins Hook对我来说根本不起作用,我对不同的分支有不同的Jenkins项目,
- 在Jenkins上安装Bitbucket插件
- 添加一个普通的Post钩子到你的Bitbucket仓库( 设置 – 钩子 )并使用下面的url:
https:// YOUR.JENKINS.SERVER:PORT / bitbucket-hook /
如果你在jenkins上设置了身份validation,那么URL必须是
https:// USERNAME:PASSWORD@YOUR.JENKINS.SERVER:PORT / bitbucket-hook /
- configuration你的Jenkins项目如下:
- 在生成 触发器启用生成时,将更改推送到BitBucket
- 在源代码pipe理下selectGIT ; input您的凭据并定义要build立的分支 (如**function/ * )
通过这种方式,我有三个构build项目,一个用于所有function,一个用于开发,一个用于发布分支。 确保在URL的末尾包含斜线('/'),否则挂钩将不起作用。
最好的是,您不必为新的Jenkins项目添加新的钩子。
实际上,你可以通过Bitbucket服务在Jenkins中工作,但是需要花一些时间才能正常工作。
如果您使用身份validation,则可以从可以创build构build的用户之一获取API令牌。 我为Bitbucket创build了一个单独的帐户。 您至less需要使用Jenkins 1.426来使用API令牌。 然后,您可以使用API身份validation的HTTP身份validation作为Bitbucket服务的密码。
这是我的build立:
端点: http:// [bitbucket]:[APITOKEN] @ [www.example.com/jenkins/]
项目名称: [NameOfMyJenkinsProject]
模块名称: [空]
令牌: [jenkins项目设置中find的令牌]
在我这样设置之后,我可以使用令牌和身份validation来启用Bitbucket的推式触发构build。
如果您在Jenkins中使用身份validation,则令牌内容无用。
使用Git插件,并使用http[s]://your.site.com[/jenkins]/git/notifyCommit?url=git@bitbucket.org:your-username/your-repo.git
它。 确保轮询已经开始,并按某个值计划,否则这将无法工作。
使用Poll SCM是好的,但它也有一些缺点,它会从你的GIT Repository中获取元数据,无论如何,它使用你的bitbucket服务器和Jenkins服务器的一定比例的带宽。
如果有任何新的更新到达,Bitbucket知道何时触发Jenkins更好。如果您使用的是最新版本的bitbucket,那么现在有一个插件名称“Stash webhooks for Jenkins”,现在与Bitbucket兼容。
在这个插件中,您只需指定Jenkins URL和JOB名称,这也提供了Jenkins和Bitbucket之间的额外安全层。
这是插件(jenkins的Stash webhooks,不叫做Jenkins的Bitbucket webhooks),可以从Atlassian Marketplace下载。
以上是您需要指定Jenkinsurl和回购克隆url的附加设置。 使用触发器,您也可以检查连接等。
链接为插件: Jenkins的webbucket
这个插件如何工作:
-
在Jenkins中安装Git Plugin。 configuration您的项目以使用Git进行源代码pipe理。 您将需要保留您在Stash中用于configuration的存储库URL。 在“构build触发器”中启用“轮询SCM”选项。 这是远程触发构build所必需的。 由于我们不需要轮询,所以您可以将轮询频率设置为很less轮询。 保存你的项目configuration。
-
input您的Jenkins实例的URL以及您configurationJenkins使用的Repository URL。 您可以使用下拉列表获取每个支持的协议的克隆URL。 之后,请随意将其更改为与您的Jenkins实例相匹配。
-
而已!
现在configuration了Jenkins和Stash,如果你提交了代码,一个构build触发器会自动发生。 发生什么事是post-receive hook向Jenkins发出一个GET请求,然后告诉它轮询存储库(为什么你需要打开轮询)。 民意调查检查是否有实际的变化。 既然有,它触发构build!
-
只需安装bitbucket插件,并按照插件页面上的说明进行操作:
使用URL JENKINS_URL / bitbucket-hook(不需要凭据)使用POST挂钩configuration您的BitBucket存储库。 在每次提交时,将触发启用了“当更改被推送到BitBucket时生成”的所有作业。
看到这里: https : //wiki.jenkins-ci.org/display/JENKINS/BitBucket+Plugin
- 从Git Bashterminal创build新的回购Bitbucket?
- 有没有恢复Github和Bitbucket 2FA没有恢复代码或备份电话号码的方法?
- Git Bitbucket:即使在上传我的公共SSH密钥后总是要求input密码
- 最简单的方法来重命名BitBucket上configuration的git项目
- 如何从Android Studio将项目导入到bitbucket存储库?
- 每次进行远程Mercurial操作时,有没有办法让Bitbucket不要求我的密码?
- git pull error“请求的URL返回错误:503访问”
- 如何避免GitHub / BitBucket上的合并提交地狱
- 是什么原因导致git push突然失败,“用户持有关系锁太久了”?