首頁  >  文章  >  後端開發  >  Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

藏色散人
藏色散人轉載
2020-01-17 14:30:504205瀏覽

自動化部署(持續整合 / CI 持續交付 / CD)是一個軟體開發的趨勢,是對 DevOps 的一個很好的幫助發展推進。今天實踐的是基於 Docker Jenkins LNMP 碼雲,實現 PHP 程式碼的自動化部署流程。

環境設定

作業系統: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  

碼雲:程式碼倉庫

碼雲端倉庫準備

##建立專案倉庫

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

#Jenkins 準備

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

安裝ssh 外掛程式

因為建置專案式,需要執行伺服器的一些shell命令,所以採用ssh登入方式與遠端伺服器進行通訊。

1. 系統管理->外掛程式管理

2. 搜尋:ssh,安裝即可

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

新工程任務

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

任務名稱不能是中文哦,選擇第一個:Freestyle project 自訂項目

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

工程任務設定

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署1. 原始碼管理選擇:git

2. Repository URL:倉庫位址(我的是碼雲端倉庫)

3. Credentials選擇新增

4. 新增憑證Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

5. 設定倉庫私鑰(具體可查看碼雲的倉庫金鑰管理說明)

憑證配置成功後,選擇上一步憑證配置的Username即可,這下如果成功連接上倉庫位址,則不會報錯了。

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署建置觸發器選擇:Github hook trigger for GITScm polling

建置環境:Use secret text(s) or file(s) //私密方式傳輸檔案

憑證:選擇指定憑證git

設定ssh

##1. 系統管理->系統設定

2. 設定遠端伺服器ssh相關資訊

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

##設定建置shell 腳本

建置:Execute shell script on remote host using ssh //建置時執行遠端伺服器shell腳本

1. 填寫SSH site //遠端伺服器ssh登入

2. Command //shell腳本Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

備註:

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署因為程式碼自動部署在jenkins的工作空間workspace目錄下,而專案的網站目錄在/data/ www下,所以在建置時,需要把更新的程式碼檔案複製到專案網站下(這裡有多種實作方式,這裡使用程式碼複製一份,是因為程式碼的大小不會佔很大的空間,現在很多靜態資源都放在一些雲端服務上了)

###最開始使用過軟連線的方式,但因為nginx不支援軟連線的存取。 ########################已配置完畢,點選儲存即可########碼雲碼推送############## ###碼雲倉庫修改程式碼,然後提交PR到master分支######################

部署任務手動構建

手動點擊構建,即可實現程式碼自動化部署

備註:

也可以配置成監控到git push就直接自動建置(測試環境建議這樣做)

手動點擊建置是為了更好的管理(生產環境建議這樣做)

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

如果任務建置失敗,會有報錯資訊和紅色標記//很方便管理

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

造訪網站

自動化部署任務建置成功後,造訪我們的項目,即可看到修改效果

Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署

以上是Docker+LNMP+Jenkins+碼雲端實現 PHP 程式碼自動化部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除