環境設定
作業系統:CentOS Linux release 7.6.1810
Docker 版本:19.03.5
Jenkins 版本:2.204.1
Nginx 版本:1.15.5
PHP 版本:7.2.26
MySQL 版本:8.0.18
Redis 版本:5.0.5
碼雲:程式碼倉庫
碼雲倉庫準備
建立專案倉庫
Jenkins 準備
安裝 ssh 外掛
因為構建專案式,需要執行伺服器的一些shell命令,所以採用ssh登入方式與遠端伺服器進行通訊。
1. 系統管理->外掛管理
2. 搜尋:ssh,安裝即可
新建工程任務
任務名稱不能是中文哦,選擇第一個:Freestyle project 自定義專案
工程任務設定
1. 原始碼管理選擇:git
2. Repository URL:倉庫地址(我的是碼雲倉庫)
3. Credentials選擇新增
4. 新增憑據
5. 設定倉庫私鑰(具體可檢視碼雲的倉庫金鑰管理幫助)
憑據設定成功後,選擇上一步憑據設定的Username即可,這下如果成功連線上倉庫地址,則不會報錯了。
構建觸發器選擇:Github hook trigger for GITScm polling
構建環境:Use secret text(s) or file(s) //私密方式傳輸檔案
憑據:選擇指定憑據git
設定 ssh
1. 系統管理->系統設定
2. 設定遠端伺服器ssh相關資訊
設定構建 shell 指令碼
構建:Execute shell script on remote host using ssh //構建時執行遠端伺服器shell指令碼
1. 填寫SSH site //遠端伺服器ssh登入
2. Command //shell指令碼
備註:
因為程式碼自動部署在jenkins的工作空間workspace目錄下,而專案的站點目錄在/data/www下,所以在構建時,需要把更新的程式碼檔案複製到專案站點下(這裡有多種實現方式,這裡使用程式碼複製一份,是因為程式碼的大小不會佔很大的空間,現在很多靜態資源都放在一些雲服務上了)
最開始使用過軟連線的方式,但因為nginx不支援軟連線的存取。
設定完畢,點選儲存即可
碼雲程式碼推播
碼雲倉庫修改程式碼,然後提交PR到master分支
部署任務手動構建
手動點選構建,即可實現程式碼自動化部署
備註:
也可以設定成監控到git push就直接自動構建(測試環境建議這樣做)
手動點選構建是為了更好的管理(生產環境建議這樣做)
如果任務構建失敗,會有報錯資訊和紅色標記 //很方便管理
存取網站
自動化部署任務構建成功後,存取我們的專案,即可看到修改效果
以上就是Docker+LNMP+Jenkins+碼雲實現 PHP 程式碼自動化部署的詳細內容,更多請關注TW511.COM其它相關文章!