引言
在傳統的項目發布部署平台,每一個都是人工操作。每一步的人工操作,都可能會帶來不確定的因素。而且,人工操作有時候會比較的耗時。引進自動化部署,可以改善軟件的總體質量。在整個項目部署的生命周期內,都使用程序工具,減少人工的干預,提升項目部署的效率。那么,接下來的這篇文章會介紹如何搭建一個簡易的自動化項目部署平台,這個平台集成了 Gitea 代碼倉庫平台、Jenkins 項目構建平台,可以作為中小型團隊搭建自動化項目部署平台的參考方案。
架構圖
准備工作
首先確保已經安裝了 Supervisor 守護進程管理工具、Gitea 代碼倉庫、Jenkins 構建平台。
如果沒有安裝,可以參考:
《Supervisor 守護進程管理工具》
《自動化部署平台之 Gitea 代碼倉庫平台》
《自動化部署平台之 Jenkins 項目構建平台》
通過 Webhook 打通 Gitea 與 Jenkins
1、在 Gitea 中創建項目倉庫
2、在 Jenkins 創建一個 Job
3、將 Jenkins 中的 webhook 鏈接,配置到 Gitea
配置 Token
JENKINS_URL
如果部署在本地,就是 http://127.0.0.1:8080
將 JENKINS_URL/job/zs-cms/build?token=YQWT7OREHcK9zZal51rwBe42yAsmVD38
在 Gitea 項目倉庫中設置 Webhook
4、測試 Webhook 通路
在 Gitea 項目倉庫中,測試推送功能
通過測試推送,可以看到已經觸發了 Jenkins 的 Job 構建。
Jenkins 構建項目到指定服務器
1、安裝 Jenkins 插件 SSH
Jenkis --> 系統管理 --> 插件管理。
我這里已經安裝了,就不重復安裝了。
2、配置服務器信息
Jenkins --> 系統管理 --> 系統配置 --> Publish over SSH
測試服務器連接狀態
3、配置 Job 中的參數
Jenkins --> zs-cms --> 構建
向遠程服務器執行,遠程命令
測試整個構建流程
在本地 push 一個 test.txt 文件,到遠程倉庫
Jenkins 中產生的構建記錄
構建成功的日志
登錄到遠程服務器,查看新提交的文件
總結
這篇文章主要是介紹了,如何搭建一個簡易的自動化的項目部署平台。自動化項目部署平台,一定程度上可以避免人肉部署項目產生的問題。在 Jenkins 創建 Job 時,建議一個環境對應一個 Job,對應一個代碼分支,就如架構圖中所示一樣。當然,這篇文章介紹的都是主要的流程。還有很多需要細化的地方,例如:Gitea 需要配置什么時候觸發 Webhook (一般都是合並代碼到主要分支才觸發)、Jenkins 中任務的構建觸發器的配置等等。很多細化的東西,需要結合自身的項目,才能夠更好的建設好自動化項目部署平台。