配置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,語言類型未選



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.


2.2) 接下來,需要根據實際情況,進行一些項目的個性化配置


3) 配置

3.1)獲取Jenkins 當前用戶的Token


菜單順序:Jenkins -> People -> Configure -> API Token



點擊後,可以看到文本框中,有一串比較長的字符串,拷貝。

3.2) 配置Jenkins 項目的 源碼部分

菜單項:Jenkins-> All -> (選擇 Item) ->Configure


有兩個主要步驟,分別是配置Repository URLCredentials

  • Repository URL

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

如果填寫錯誤,輸入框的下方,會顯示一些紅色的提示。


  • Credentials

以下這張截圖, 顯示的是,簡單的 用戶名/密碼的配置方式

第三個輸入框:可以給每個驗證方式,分配一個ID,便於在多個驗證方式間選擇。


以下的截圖,展示SSH 公鑰/私鑰的認證方式


3.3 配置Build Triggers Token

這個比較簡單,主要是下方的提示信息,容易造成誤解

輸入框中,就是填入一串“隨機”的字符串


3.4 配置Bitbucket 倉庫 的WebHook

菜單項:Settings -> INTEGRATIONS -> Services

並非Settings ->INTEGRATIONS -> Webhooks


截圖中,有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 定義執行腳本

截圖如下:


4.2 git push 後的效果

可以看到,左側菜單欄目下, “Build History”部分,會很快出現一個正在build的項目。


查看,所有輸出,菜單項:選擇具體的build 編號後,左側選擇 Console Output

截圖如下:


參考:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章