本文将为您提供关于使用Bitbucket配置Jenkins的详细介绍,我们还将为您解释bitbucketjenkins的相关知识,同时,我们还将为您提供关于BitBucketJenkins不会自动生成
本文将为您提供关于使用Bitbucket配置Jenkins的详细介绍,我们还将为您解释bitbucket jenkins的相关知识,同时,我们还将为您提供关于BitBucket Jenkins不会自动生成、Bitbucket Server Webhook到Jenkins:错误:Jenkins响应:没有使用存储库的git作业、BitBucket Webhook在发布给Jenkins时给出了Crumb问题、Bitbucket 触发内网 Jenkins Build的实用信息。
本文目录一览:- 使用Bitbucket配置Jenkins(bitbucket jenkins)
- BitBucket Jenkins不会自动生成
- Bitbucket Server Webhook到Jenkins:错误:Jenkins响应:没有使用存储库的git作业
- BitBucket Webhook在发布给Jenkins时给出了Crumb问题
- Bitbucket 触发内网 Jenkins Build
使用Bitbucket配置Jenkins(bitbucket jenkins)
我似乎在尝试将Jenkins(Ubuntu的EC2 AWS实例)与Bitbucket链接时陷入困境。
每当我尝试构建项目时(我在Jenkins上安装了git插件),我都会得到…
Building in workspace /var/lib/jenkins/jobs/Google adwords/workspaceCheckout:workspace / /var/lib/jenkins/jobs/Google adwords/workspace - hudson.remoting.LocalChannel@2c473996Using strategy: DefaultCloning the remote Git repositoryCloning repository originERROR: Error cloning remote repo ''origin'' : Could not clone git@bitbucket.org:DAVID99WORLD/assessme.githudson.plugins.git.GitException: Could not clone git@bitbucket.org:DAVID99WORLD/assessme.git at hudson.plugins.git.GitAPI.clone(GitAPI.java:268) at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1122) at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1064) at hudson.FilePath.act(FilePath.java:842) at hudson.FilePath.act(FilePath.java:824) at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064) at hudson.model.AbstractProject.checkout(AbstractProject.java:1256) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:494) at hudson.model.Run.execute(Run.java:1502) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236)Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin git@bitbucket.org:DAVID99WORLD/assessme.git /var/lib/jenkins/jobs/Google adwords/workspace" returned status code 128:stdout: Cloning into ''/var/lib/jenkins/jobs/Google adwords/workspace''...stderr: Host key verification failed.fatal: The remote end hung up unexpectedly
很好-
看起来它正在尝试通过ssh,但是找不到密钥。所以我试图生成密钥,在~/.ssh
我有文件的情况下authorized_keys
,known_hosts
但是根据这里的文档…
https://confluence.atlassian.com/display/BITBUCKET/How+to+install+a+public+key+on+your+bitbucket+account
我应该在〜/ .ssh下有一个名为id_rsa的文件
我一直在关注文档…
https://confluence.atlassian.com/display/BITBUCKET/使用+ the + SSH + protocol +
with +
bitbucket
但是它看起来几乎完成了一半,或者我缺少将密钥放入正确文件中的位。
首先-我的假设正确吗,这是一个ssh问题?其次,如果是这样,有谁知道如何获得匹配的钥匙,以便詹金斯能够进行拉拔和建造?
编辑:我认为这是一个ssh问题,因为詹金斯(Jenkins)使用带有部署密钥的Git进行构建是相关的,但是我使用的是bitbucket而不是github。
答案1
小编典典您需要生成密钥文件以上传到您的BitBucket帐户。从运行Jenkins的用户执行以下操作:
ssh-keygen -t rsa
使用密钥文件位置的默认值,并将密码短语留空。然后,您将有〜/ .ssh / id_rsa.pub文件上传到BitBucket。
BitBucket Jenkins不会自动生成
在我的詹金斯上,我配置了:
源代码管理
Git存储库:https :
//bitbucket.org/username/project.git
凭据:用户名/密码
建造者触发器
将更改推送到BitBucket时生成
在我的BitBucket Webhooks上:
http://Jenkins.URL:8080 / bitbucket-hook
我尝试将小的更改推送到.txt文件,但是Jenken不会自动生成。如果我手动单击“立即构建”,则显示成功。
可能是什么问题呢?
在bitbucket存储库中,该项目很简单。我只有一个文本文件要测试。我认为只要对文本文件进行任何更改,它都应该触发Jenkins构建。
编辑:
在Jenkins的系统日志中,它显示“轮询尚未运行”。但是在Bitbucket Webhook请求日志中,我可以看到所有请求。
Bitbucket Server Webhook到Jenkins:错误:Jenkins响应:没有使用存储库的git作业
我已经在Bitbucket服务器中将Webhook安装到Jenkins for
Bitbucket插件。主要目标是在提交后将触发詹金斯构建。
安装后,我启用了插件:jenkins-url:https:// url / jenkins ssh:ssh @
git ..(在SCM插件jenkins作业中使用了相同的命令)。
詹金斯工作正常(git clone等正常工作),但插件不工作。当我在jenkins webhook插件上单击测试时,它显示了我:
Error: Jenkins response: No git jobs using repository: ssh://git@xx.git t and branches: master
网址正确。因此,它用于我的詹金斯工作(和分支主管)。我什至在jenkins作业中从错误中复制了URL作为URL,它仍然能够克隆存储库。我会忘记什么?
编辑:
我发现一些信息,您应该在工作中启用SCM轮询(即使每年进行一次轮询)。仅此插件有效吗?这是正常行为吗?(这似乎解决了我的问题)
答案1
小编典典是的,您必须在Jenkins Job配置的Build Triggers部分中检查Poll_SCM-
我可以确认这一点。我正在做与您相同的事情,这就是我如何使其起作用的方法-您可以在Atlassian网站上找到此类确认
BitBucket Webhook在发布给Jenkins时给出了Crumb问题
假设您以预推送脚本的形式触发作业,如果它抛出了面包屑错误,则需要在Jenkins中创建个性化的API令牌,并且需要将其嵌入到从Bitbucket到Jenkins的API调用中。
请参考本文以生成令牌-https://support.cloudbees.com/hc/en-us/articles/115003090592-How-to-re-generate-my-Jenkins-user-token
Bitbucket 触发内网 Jenkins Build
在 Jenkins 上添加一个用来自动构建的用户: autobuilder 如果需要,你可以调整 autobuilder 的用户权限 系统管理 -》Configure Global Security -》 授权策略 -》项目矩阵授权策略
在项目中我们需要开启 "触发远程构建", 并输入一个 "身份验证令牌",该值你可以从 https://randomkeygen.com/ 轻松的生成一个合格的身份验证令牌。 我们可以在红色方框处获得触发远程构建的 URL, 替换 TOKEN_NAME 的值为: http://192.168.0.218:8888/job/test-bitbucket/build?token=8PwPjSxOd1huEQZYpDr0qQJrCndcfxgu
我们还需要为这个 URL 添加认证信息,使用 autobuilder 用户登录 jenkins 服务器中,点击右上角 "autobuilder" -》"设置" -》“Show API Token” 获得该用户的认证信息。 获得上面的信息后后就可以拼出完整的 URL : http://autobuilder:f245bb703a1b39594d1f4f48784ddd27@192.168.0.218:8888/job/test-bitbucket/build?token=8PwPjSxOd1huEQZYpDr0qQJrCndcfxgu
可以通过使用 curl 命令来测试
curl http://autobuilder:f245bb703a1b39594d1f4f48784ddd27@192.168.0.218:8888/job/test-bitbucket/build?token=8PwPjSxOd1huEQZYpDr0qQJrCndcfxgu
公司使用的 bitbucket 是在外网上的,内部的 Jenkins 无法被 bitbucket 访问,公司内部的公网 IP,我们把公司的 IP 的 8888 端口通过路由器进行 NAT 映射到 192.168.0.218 的 8888 端口上 然后在外网的机器上使用 curl 来进行测试
curl http://autobuilder:f245bb703a1b39594d1f4f48784ddd27@替换你的公网IP:8888/job/test-bitbucket/build?token=8PwPjSxOd1huEQZYpDr0qQJrCndcfxgu
测试成功后,开始对 bitbucket 进行配置,首先添加插件,点击 "管理" -》"寻找新插件",搜索 "hook" , 安装 "HTTP-Request Hook for Bitbucket Server"
进入项目中,点击 "Settings" -》“Hooks” -》启用 "HTTP Request Post-Receive Hook", 填入信息 #### 注意:Username 填入 autobuilder,Password 填入 用户的认证信息
当你向该 Bitbucket 项目的代码库中提交代码,Bitbucket 在收到代码推送后会使用我们在 Hooks 中设置的 URL 发送 http 请求,内网中的 Jenkins 服务器收到请求后触发一个新的 Build。
关于使用Bitbucket配置Jenkins和bitbucket jenkins的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于BitBucket Jenkins不会自动生成、Bitbucket Server Webhook到Jenkins:错误:Jenkins响应:没有使用存储库的git作业、BitBucket Webhook在发布给Jenkins时给出了Crumb问题、Bitbucket 触发内网 Jenkins Build等相关知识的信息别忘了在本站进行查找喔。
本文标签: