jenkins配置碼雲自動部署

1. 需求背景

公司有後臺項目和前端項目,後臺和前端是分開部署的,後臺是用svn進行代碼管理,並且通過jenkins進行持續集成和構建,但是前端還是用着最原始的方式通過上傳js,html文件到web服務器進行發佈,主要是造成了以下的問題:

  • 部署麻煩,需要知道本地文件所在目錄和線上文件所在目錄,然後進行上傳
  • 容易遺漏,在文件多的時候上傳會有遺漏情況發生,導致線上出問題
  • 發佈流程不易管理,無法追蹤發佈時間,發佈目的,發佈內容

綜上幾點,再加上前端的代碼是通過碼雲的git進行託管的,所以jenkins配置碼雲的代碼來實現自動部署迫在眉睫。

2. 過程

2.1 目標

jenkins配置碼雲自動部署的目標是在指定分支上進行push到遠程庫的時候能夠觸發jenkins的構建,然後實現自動化部署上線。

2.1 尋找解決方案

在網上能看到很多部署方案,但是大都大同小異,描述得很不詳細,沒有從碼雲這個託管平臺的實際出發來講如何部署,後面通過翻閱碼雲的幫助文檔,再加上自己的一些經驗,終於實現了通過jenkins自動配置碼雲

2.2 部署過程

2.2.1 jenkins安裝碼雲Gitee插件

系統管理 --> 插件管理 --> 搜索插件(安裝),重啓即可(下圖是我在安裝好的插件中查詢出來的,我是已經安裝好的了)

在這裏插入圖片描述

2.2.2 插件配置

jenkins --> 系統管理 --> 系統設置 ,找到Gitee 配置選項

  • 鏈接名:輸入你想要的名字,這個名字無所謂,後面只是做顯示作用
  • Gitee 域名 URL:輸入碼雲完整URL地址,https://gitee.com(碼雲私有化客戶輸入部署的域名),一般填https://gitee.com即可
  • 證書令牌:右邊選項點擊add,選擇jenkins
    1. Domain:選擇全局憑據(Global credentials)
    2. 類型(Kind):選擇Gitee API 令牌(Gitee API Token)
    3. 範圍(Scope):根據你個人想要這個憑據在哪個範圍可使用,我選的是全局
    4. Gitee APIV5 私人令牌(Gitee API Token):輸入你的碼雲私人令牌,獲取地址https://gitee.com/profile/personal_access_tokens
    5. ID和描述:自己隨便填,也是作爲顯示使用而已
      添加完成後,選擇剛自己添加的這個令牌
  • Advanced:可配置是否忽略 SSL 錯誤(適您的Jenkins環境是否支持),並可設置鏈接測超時時間(適您的網絡環境而定),我是忽略掉的了。
  • 測試連接:點擊可以確定自己的配置是否正確,如果不正確,則根據插件配置重新再走一遍。
    在這裏插入圖片描述
2.2.3 新建構建任務

選擇自由風格的構建項目,然後開始配置:

  • 選擇gitee地址
    在這裏插入圖片描述
  • 源碼管理配置
    1. 點擊Git,Repository URL輸入git地址,Credentials選擇無即可(前提是我們已經把jenkins所在服務器的公鑰配置在碼雲上了,該服務器可以直接使用git命令clone或pull碼雲的代碼)
    2. 點擊Advanced,Name中輸入origin,Refspec輸入+refs/heads/*:refs/remotes/origin/* +refs/pull/*/MERGE:refs/pull/*/MERGE (這個的配置其實我並不是很懂)
    3. Branch Specifier (blank for ‘any’)輸入origin/${giteeSourceBranch}
    4. 源碼管理配置的其他都默認選項即可
      在這裏插入圖片描述
  • 觸發器配置
    1. 選擇Gitee webhook 觸發構建
    2. 根據自己需要選擇Gitee 觸發構建策略
    3. 其他默認即可
    4. 選擇自己需要過濾的分支,比如我這個job是構建測試環境的,那麼我只希望在push到dev分支上我纔要構建,所謂我只有dev分支接口
      在這裏插入圖片描述
  • 新建Gitee WebHook

這是整個配置的核心工作,通過配置WebHook,把我們jenkins相關的地址設置進去,在碼雲檢測到有push動作或其他指定動作的時候,就會調用我們配置的jenkins的地址,然後引發jenkins的構建。

進入源碼管理配置中設置的碼雲倉庫中,進入 管理 -> WebHooks
1. 填寫URL,該URL在配置jenkins的觸發器的時候,會顯示
2. 密碼填寫,在jenkins的配置中生成密碼,複製黏貼過去
3. 勾選push,即自己想要觸發構建的一些動作
4. 點擊測試,在正常的情況下可以發現jenkins已經自動構建了
在這裏插入圖片描述

  • 構建過程

接下來就是在build中根據自己業務需求執行相關的構建步驟了,這個和碼雲部署無關,所以不再贅述。

3. 總結

至此,jenkins配置碼雲自動部署已經全部設置完畢,當有開發在本地的push代碼大遠程的dev分支時,就會觸發jenkins構建。從此,前端也走向了自動化部署的道路。

參考鏈接:
碼雲的jenkins插件
Linux安裝Git

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