jenkins工做流的構建--實現自動化構建及郵件提醒功能

背景

  • 現階段:開發 -> git push -> git pull -> 比較代碼 -> 編譯 -> 部署到全網 -> 重啓服務器
  • 接入jenkins以後:開發 -> git push -> jenkins自動構建部署

jenkins是什麼

jenkins是一個開源軟件項目,是基於Java開發的一種持續集成工具,用於監控持續重複的工做,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。

構建流程

  1. 從Jenkins官網下載最新war文件。(https://jenkins.io/download/)
  2. 安裝jdk(https://www.oracle.com/techne...
  3. 運行java -jar jenkins.war便可
  4. 安裝插件(github,Generic Webhook Trigger)
  5. nodejs配置:system settings -> 全局工具配置
  6. create new job
  7. 使用webhooks創建鏈接
  8. git push --> 觸發webhooks --> jenkins開始工做
  9. 構建結果 -> 經過郵件通知結果

詳細流程

初始化jenkins包

下好war包以後,運行java -jar jenkins.war --httpPort=8383(指定端口8383)
打開本地localhost:8383 按照提示依次可看到
圖片描述
圖片描述
圖片描述html

安裝插件(github,Generic Webhook Trigger)

圖片描述

NodeJs配置:system settings -> 全局工具配置

圖片描述

create new job:

建立一個自由風格的軟件項目
圖片描述java

在Source Code Management中填入相關的git源碼地址
圖片描述node

在Build Triggers 中選擇
圖片描述git

在Build Environment及在build中選擇NodeJs版本和寫入需執行的shell腳本
這次的shell腳本以下:github

echo 'check node --version'
node --version
cd mock-demo
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install
npm install -g mocha
echo 'test-------start'
npm run test
echo 'npm--------build'
npm run build

圖片描述

使用webhooks創建鏈接

工做原理:
在遠端倉庫上配置一個Jenkins服務器的接口地址,當本地向遠端倉庫發起push時,遠端倉庫會向配置的Jenkins服務器的接口地址發起一個帶參數的請求,jenkins收到後開始工做。

在github中設置webhooks
圖片描述
圖中Secret是jenkins的密碼,有個選項是想何時觸發這個鉤子,這裏默認用push觸發鉤子\
點擊提交完成配置。
其中Payload URL是在jenkins中能夠獲取的。當本地向遠端倉庫發起push請求時,會觸發jenkins,而後jenkins開始工做。
在jenkins中設置github Hook URL:
圖片描述web

git push --> 觸發webhooks --> jenkins開始工做

jenkins-init

構建結果 --> 經過郵件通知結果

在Jenkins -> 系統設置 -> E-mail Notification 中設置\
在Test e-mail recipient出填寫測試郵件地址,就可測試是否能收到郵件
圖片描述shell

而後在jenkins項目中settings -> Post-build Actions設置\
在選擇觸發器時可選always或failure等觸發郵件提醒
圖片描述
圖片描述npm

構建結果

jenkins-init

寫在最後

jenkins的插件成千上萬,功能十分強大,目前實現了自動構建以及郵件提醒功能。
本次使用的demo地址爲:https://github.com/liujianxi/jenkins-demo。
原文地址:https://github.com/liujianxi/share/tree/master/jenkins-demo
相關文章
相關標籤/搜索