溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker+LNMP+Jenkins+碼云如何實(shí)現(xiàn)PHP代碼自動(dòng)化部署

發(fā)布時(shí)間:2021-10-15 10:23:12 來源:億速云 閱讀:128 作者:柒染 欄目:編程語言

這篇文章給大家介紹Docker+LNMP+Jenkins+碼云如何實(shí)現(xiàn)PHP代碼自動(dòng)化部署,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

自動(dòng)化部署(持續(xù)集成 / CI + 持續(xù)交付 / CD)是一個(gè)軟件開發(fā)的趨勢,是對 DevOps 的一個(gè)很好的幫助發(fā)展推進(jìn)。今天實(shí)踐的是基于 Docker+Jenkins+LNMP + 碼云,實(shí)現(xiàn) PHP 代碼的自動(dòng)化部署過程。

環(huán)境配置

操作系統(tǒng):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

碼云:代碼倉庫

碼云倉庫準(zhǔn)備

創(chuàng)建項(xiàng)目倉庫

Jenkins 準(zhǔn)備

安裝 ssh 插件

因?yàn)闃?gòu)建項(xiàng)目式,需要執(zhí)行服務(wù)器的一些shell命令,所以采用ssh登錄方式與遠(yuǎn)程服務(wù)器進(jìn)行通信。

1. 系統(tǒng)管理->插件管理

2. 搜索:ssh,安裝即可

新建工程任務(wù)

任務(wù)名稱不能是中文哦,選擇第一個(gè):Freestyle project 自定義項(xiàng)目

工程任務(wù)配置

1. 源碼管理選擇:git

2. Repository URL:倉庫地址(我的是碼云倉庫)

3. Credentials選擇添加

4. 添加憑據(jù)

5. 配置倉庫私鑰(具體可查看碼云的倉庫密鑰管理幫助)

憑據(jù)配置成功后,選擇上一步憑據(jù)配置的Username即可,這下如果成功連接上倉庫地址,則不會(huì)報(bào)錯(cuò)了。

構(gòu)建觸發(fā)器選擇:Github hook trigger for GITScm polling

構(gòu)建環(huán)境:Use secret text(s) or file(s) //私密方式傳輸文件

憑據(jù):選擇指定憑據(jù)git

配置 ssh

1. 系統(tǒng)管理->系統(tǒng)配置

2. 配置遠(yuǎn)程服務(wù)器ssh相關(guān)信息

配置構(gòu)建 shell 腳本

構(gòu)建:Execute shell script on remote host using ssh //構(gòu)建時(shí)執(zhí)行遠(yuǎn)程服務(wù)器shell腳本

1. 填寫SSH site //遠(yuǎn)程服務(wù)器ssh登錄

2. Command //shell腳本

備注:

因?yàn)榇a自動(dòng)部署在jenkins的工作空間workspace目錄下,而項(xiàng)目的站點(diǎn)目錄在/data/www下,所以在構(gòu)建時(shí),需要把更新的代碼文件復(fù)制到項(xiàng)目站點(diǎn)下(這里有多種實(shí)現(xiàn)方式,這里使用代碼復(fù)制一份,是因?yàn)榇a的大小不會(huì)占很大的空間,現(xiàn)在很多靜態(tài)資源都放在一些云服務(wù)上了)

最開始使用過軟連接的方式,但因?yàn)閚ginx不支持軟連接的訪問。

配置完畢,點(diǎn)擊保存即可

碼云代碼推送

碼云倉庫修改代碼,然后提交PR到master分支

部署任務(wù)手動(dòng)構(gòu)建

手動(dòng)點(diǎn)擊構(gòu)建,即可實(shí)現(xiàn)代碼自動(dòng)化部署

備注:

也可以配置成監(jiān)控到git push就直接自動(dòng)構(gòu)建(測試環(huán)境建議這樣做)

手動(dòng)點(diǎn)擊構(gòu)建是為了更好的管理(生產(chǎn)環(huán)境建議這樣做)

如果任務(wù)構(gòu)建失敗,會(huì)有報(bào)錯(cuò)信息和紅色標(biāo)記 //很方便管理

訪問網(wǎng)站

自動(dòng)化部署任務(wù)構(gòu)建成功后,訪問我們的項(xiàng)目,即可看到修改效果

關(guān)于Docker+LNMP+Jenkins+碼云如何實(shí)現(xiàn)PHP代碼自動(dòng)化部署就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI