配置Bitbucket到 Jenkins的WebHook

配置BitbucketJenkinsWebHook

2016-9-14


环境:

Bitbucket 版本4.9(https://blog.bitbucket.org/)

Jenkins 版本2.7.2



目标:

1. BitBucket(关键词:在线、代码、托管、Mercurial、兼容Githttps://bitbucket.org/)管理源码

2. Jenkins做一些 代码提交后的工作,如代码审查、编译、部署等

3. 使用WebHook,代码提交后, Bitbucket 自动发送一个web请求到Jenkins,激活后续动作


关键点:

1) 需要配置两个Token,一个是用于身份的,一个用于项目的

2)Bitbucket网上的教程,都是针对老版的,现在配置选项在service部分



配置过程:

1)在BitBucket 上创建一个仓库

可以参考http://www.open-open.com/lib/view/open1420034265890.html

这是一个入门教程


1.1)在这里,我创建的仓库的名字是 teest,类型是Git,语言类型未选

配置Bitbucket到 Jenkins的WebHook_第1张图片


1.2) 创建代码,并上传,

以下是一些用到的 git 命令

gitinit


gitconfig user.name "Yongshi Xu"

gitconfig user.email "!@#$%^&*@gmail.com"

gitconfig -l


gitclone [email protected]:YongshiXu/teest.git


gitstatus


gitadd .

gitcommit -m 'webhook'

git pushorigin master


说明,略过了配置私钥 等其他部分。


2) 创建Jenkins项目

官网:https://jenkins.io/

这里,我使用的是docker容器技术, 下载了jenkins的镜像,启动

docker pull jenkins


docker run-d -p 80:8080 jenkins



2.1) 创建一个新的Job,名字也是 teest, 类型是FreeStyle.

配置Bitbucket到 Jenkins的WebHook_第2张图片


2.2) 接下来,需要根据实际情况,进行一些项目的个性化配置


3) 配置

3.1)获取Jenkins 当前用户的Token


菜单顺序:Jenkins -> People -> Configure -> API Token

配置Bitbucket到 Jenkins的WebHook_第3张图片


点击后,可以看到文本框中,有一串比较长的字符串,拷贝。

配置Bitbucket到 Jenkins的WebHook_第4张图片

3.2) 配置Jenkins 项目的 源码部分

菜单项:Jenkins-> All -> (选择 Item) ->Configure


有两个主要步骤,分别是配置Repository URLCredentials

  • Repository URL

示例:https://bitbucket.org/YongshiXu/teest.git

如果填写错误,输入框的下方,会显示一些红色的提示。

配置Bitbucket到 Jenkins的WebHook_第5张图片


  • Credentials

以下这张截图, 显示的是,简单的 用户名/密码的配置方式

第三个输入框:可以给每个验证方式,分配一个ID,便于在多个验证方式间选择。

配置Bitbucket到 Jenkins的WebHook_第6张图片


以下的截图,展示SSH 公钥/私钥的认证方式

配置Bitbucket到 Jenkins的WebHook_第7张图片


3.3 配置Build Triggers Token

这个比较简单,主要是下方的提示信息,容易造成误解

输入框中,就是填入一串“随机”的字符串

配置Bitbucket到 Jenkins的WebHook_第8张图片


3.4 配置Bitbucket 仓库 的WebHook

菜单项:Settings -> INTEGRATIONS -> Services

并非Settings ->INTEGRATIONS -> Webhooks

配置Bitbucket到 Jenkins的WebHook_第9张图片

截图中,有4个输入框,需要注意的是第1个,和第4个。

  • Endpoint:

这个就是WebHookURL:格式为:

http://username:[email protected]/

在这个例子中,具体为:

http://admin:[email protected]/

  • Modulename

这个选项,可以配置针对项目的某个文件夹操作,如填入src/ 那么,只在项目目录src下,有文件变化时候,才激活WebHook

  • Projectname:

具体在这里,就是teest

  • Token:

这个串,就是Build trigger配置中填入的自定义串


4. 效果

为了观测效果,定义了 编译 Build 下的 执行脚本,

然后,修改代码提交,观测效果。

4.1 定义执行脚本

截图如下:

配置Bitbucket到 Jenkins的WebHook_第10张图片


4.2 git push 后的效果

可以看到,左侧菜单栏目下, “Build History”部分,会很快出现一个正在build的项目。


查看,所有输出,菜单项:选择具体的build 编号后,左侧选择 Console Output

截图如下:

配置Bitbucket到 Jenkins的WebHook_第11张图片


参考:

1.http://felixleong.com/blog/2012/02/hooking-bitbucket-up-with-jenkins

2.https://blog.bitbucket.org/2015/06/24/the-new-bitbucket-webhooks/

3.https://confluence.atlassian.com/bitbucket/jenkins-service-management-251724180.html

你可能感兴趣的:(容器,DevOps,CI,CD)