DevOps系列——Gogs和Jenkins的CI配置

jenkins學習筆記html

1. jenkins簡單介紹

1.1. jenkins是什麼

  • Jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能

1.2. 大牛系統博客地址

2. 知識點

2.1. 用戶和權限配置

2.2. jenkins的ssh認證

2.3. gogs提交代碼觸發jenkins構建

  • 輸入gogs能夠下載這個插件,不要輸入gogs-webhook-plugins找不到
  • 在gogs項目的鉤子中添加hook地址

2.4. pipeline的使用

  • 首先在系統管理-系統設置中增大jenkins的構建進程數,由於jenkins中可能同時啓動好幾個構建任務

  • 建立的時候使用Pipeline(流水線),pipeline能夠執行一系列的操做

  • 而後編寫腳本,Pipeline Syntax中有腳本生成器
    • 注意stage之間必定要加空行,不然會報錯

  • 運行效果

2.5. 發送郵件通知

  • 本文講的是gogs和jenkins結合

2.5.1. 申請郵箱

  • 首先註冊一個163的郵箱
  • 開啓受權認證,輸入受權密碼,這個受權碼代替登陸密碼,查看smtp服務器地址

2.5.2. 基本配置

  • 來到jenkins的系統管理->系統設置進行配置
  • 首先設置管理員郵箱,這個郵箱和一會發郵件的郵箱必須是同一個,不然發佈出去郵件

  • 設置發送郵件服務器信息

  • 來一個能夠複製的
(本郵件是程序自動下發的,請勿回覆!)<br/>

項目名稱:$PROJECT_NAME<br/>

項目描述:${JOB_DESCRIPTION}<br/>

構建編號:$BUILD_NUMBER<br/>

構建狀態:$BUILD_STATUS<br/>

觸發緣由:${CAUSE}<br/>

構建日誌地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/>

構建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>

變動集:${JELLY_SCRIPT,template="html"}<br/>

2.5.3. jenkins腳本的改變

  • 在jenkins的配置文件中刪除--restart always這樣的自動重啓命令,不然即便代碼報錯,任務也會算作構建成功,由於只是執行啓動命令。
  • 在jenkins的配置文件中加-d有個重大問題
    • 不加上-d那麼若是程序沒有問題,jenkins的任務就退不出來了
    • 加上-d那麼若是程序有問題,jenkins的任務也會算做成功
  • 解決辦法就是改變腳本爲如下方式
    • 中間須要暫停幾秒,不然不能準確讀取到容器的狀態
    • 固然還有測試的時候才這樣寫,打版和發佈都不用,這涉及到一整套docker策略
echo "正在構建" \
  && cd web-server \
  && docker build -t pomelo-dev-client  . \

  if [ "`docker ps -f name=pomelo-dev-client -q`" ]; then
   echo "stop and rm pomelo-dev-client"
   docker stop pomelo-dev-client
   docker rm pomelo-dev-client
  elif [ "`docker ps -a -f name=pomelo-dev-client -q`" ]; then
   echo "rm pomelo-dev-client"
   docker rm pomelo-dev-client
  else
   echo "pomelo-dev-client不存在"
  fi \
  && docker run -d --name pomelo-dev-client -p 3001:3001 pomelo-dev-client \
  && sleep 4 \

  if [ "`docker ps -f name=pomelo-dev-client -q`" ]; then
   echo "pomelo-dev-client 啓動成功"
  elif [ "`docker ps -a -f name=pomelo-dev-client -q`" ]; then
   echo "rm pomelo-dev-client"
   docker rm pomelo-dev-client
   docker run --name pomelo-dev-client -p 3001:3001 pomelo-dev-client
  else
   echo "pomelo-dev-client不存在"
  fi \

2.5.4. 配置郵件觸發器

  • 首先jenkins用戶都要設置企業郵箱

  • jenkins項目中設置觸發器

  • 高級設置中能夠設置觸發時機,如下高級設置中的內容能夠覆蓋系統設置中的基本內容

  • 原本想實現失敗10次要給項目經理髮郵件,但是Failure-x好像不起做用

2.5.5. 郵件效果

2.5.6. 擴展閱讀

2.6. jenkins定時自動構建

2.7. 擴展閱讀

 免責說明

  • 本文檔中的部份內容摘自網上的衆多博客,僅做爲本身知識的補充和整理,並分享給其餘須要的coder,不會用於商用。
  • 由於不少博客的地址看完沒有及時作保存,因此不少不會在這裏標明出處,很是感謝各位大牛的分享,也但願你們理解。
  • 若是原文做者感受不適,能夠及時聯繫我shiguoqing999@163.com,我將及時刪除爭議部份內容

 追責聲明

  • 若有大段引用超過全文50%的內容,請在文檔結尾標明原文出處:龍馬行空-石國慶-https://my.oschina.net/u/1416844/blog,不然將視爲抄襲,予以法律追究,請各位尊重我的知識產權。

我的公衆號

  • 你們能夠關注個人公衆號,我會舉辦線下代碼操練活動

   

  • 本人提供全部前端知識的付費諮詢服務,本諮詢可提高企業核心競爭力
    • Html5和Css3系列
    • Vue全家桶系列
    • JS面向對象系列
    • 微信開發系列(完善中)
    • RN開發系列(完善中)
    • DevOps系列
  • 價格請郵箱聯繫:shiguoqing999@163.com,有願意提供場地的公司也能夠聯繫我,會有優惠
相關文章
相關標籤/搜索