摘要:文件包含了基本的部署配置和任務(wù),且有明確的注釋?zhuān)憧梢愿鶕?jù)注釋在適當(dāng)?shù)牡胤教砑优渲靡约叭蝿?wù)。自動(dòng)部署到了這里,恭喜你,已經(jīng)可以愉快使用。
本文主要介紹 Deployer —— 一個(gè)具有模塊化、代碼回滾、并行任務(wù)等功能的 PHP 部署工具。
Deployer 用法非常簡(jiǎn)單易用,可以快速上手,且支持多個(gè) PHP 框架。
安裝Deployer 安裝有多種方法:
第一種 通過(guò) Phar 存檔,只需運(yùn)行一下命令即可:
curl -LO https://deployer.org/deployer.phar mv deployer.phar /usr/local/bin/dep chmod +x /usr/local/bin/dep
第二種 通過(guò) composer 安裝:
composer require deployer/deployer --dev
使用:
php vendor/bin/dep
第三種 通過(guò) Github 源代碼安裝:
clone 最新的代碼:
git clone https://github.com/deployphp/deployer.git
在源代碼目錄下運(yùn)行:
php ./build
使用第三種方法會(huì)建立 deployer.phar 的 Phar 歸檔,所以建議使用第一種方法安裝。
安裝完后,你可以通過(guò) dep 使用 Deployer ,在你的項(xiàng)目目錄下運(yùn)行以下命令:
dep init
運(yùn)行此命令后會(huì)出現(xiàn)下圖的選項(xiàng),可選擇你所需的,當(dāng)然本教程使用 Laravel ,so 選擇 [1] Laravel。
初始化后,會(huì)自動(dòng)生成 deployer.php 文件。 deployer.php 文件包含了基本的部署配置和任務(wù),且有明確的注釋?zhuān)憧梢愿鶕?jù)注釋在適當(dāng)?shù)牡胤教砑优渲靡约叭蝿?wù)。
沒(méi)錯(cuò),按照 deployer.php 文件的注釋?zhuān)O(shè)置一下 repository、server config ,基本上都能正常運(yùn)行。
如何快速入門(mén)使用?可以看看官方入門(mén)文檔 https://deployer.org/docs/get... ,這里不一一列出。
當(dāng)你第一次成功部署的時(shí)候, Deployer 會(huì)自動(dòng)幫你在服務(wù)器上生成一下文件:
releases 包含你部署項(xiàng)目的版本(默認(rèn)保留 5 個(gè)版本)
shared 包含你部署項(xiàng)目的共享文件或目錄(如:Laravel 的 Storage 目錄、.env 文件等 )
current 軟連接到你當(dāng)前發(fā)布的版本
自動(dòng)部署需要注意的地方: Deployer 默認(rèn)使用 ACL 來(lái)設(shè)置權(quán)限,你可以設(shè)置 writable_mode 來(lái)改變這個(gè)行為。
到了這里,恭喜你,已經(jīng)可以愉快使用 Deployer 。但是又有一個(gè)問(wèn)題,每次提交 push 一次代碼后都要運(yùn)行 dep deploy 才會(huì)部署,有木有覺(jué)得很麻煩,接下來(lái)就說(shuō)一下自動(dòng)部署,相信你也想一切自動(dòng)化的吧。
需要做的工作:
生成 git 用戶(hù)公鑰和部署公鑰 -> 設(shè)置用戶(hù)公鑰到你帳戶(hù)相關(guān)聯(lián)的 SSH Keys -> 設(shè)置部署公鑰到你項(xiàng)目的 Deploy keys -> 準(zhǔn)備 hook 文件 -> 在項(xiàng)目上添加一個(gè) Webhook 并設(shè)置 hook 的網(wǎng)址
當(dāng)然,你要在服務(wù)器上自動(dòng)部署還需要在服務(wù)器上安裝 deployer 并設(shè)置好部署配置,確保其能正常運(yùn)行。當(dāng) push 代碼后觸發(fā) webhook ,發(fā)送請(qǐng)求到服務(wù)器的 hook ,若驗(yàn)證成功則執(zhí)行 dep deploy 命令。
自動(dòng)部署的文章很多,也非常簡(jiǎn)單,基本上就是在 Git 代碼倉(cāng)庫(kù)設(shè)置一下 webhook 然后在服務(wù)器配置一下就搞掂的事,我就不一一列出,因?yàn)樽鲋貜?fù)的事也沒(méi)什么意義。
webhook 設(shè)置自動(dòng)部署教程:
Laravist - Coding Webhook 自動(dòng)部署 Git 項(xiàng)目
利用WebHook實(shí)現(xiàn)PHP自動(dòng)部署Git代碼
使用PHP腳本遠(yuǎn)程部署git項(xiàng)目
如果你想使用圖形化界面的部署工具,你可以使用:Jenkins、walle - 瓦力部署 等等。
本文主要簡(jiǎn)單介紹一下 Deployer 以及使用 Deployer 自動(dòng)部署如何去做,而不會(huì)做太過(guò)詳細(xì)的教程,因?yàn)? Deployer 的文檔已經(jīng)寫(xiě)得很清晰易明,以及有各種設(shè)置 Webhook 的教程,所以我沒(méi)有必要一一列出(因?yàn)槲覒校?/p>
最后的最后感謝 overtrue - 超哥
更多請(qǐng)關(guān)注PJ Blog
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/30575.html
摘要:開(kāi)發(fā)完項(xiàng)目,免不了要部署上線(xiàn)。進(jìn)行部署的過(guò)程中,項(xiàng)目仍然能夠正常訪(fǎng)問(wèn)。能十分方便地進(jìn)行回滾。線(xiàn)上測(cè)試與生產(chǎn)使用的是青云的云主機(jī),系統(tǒng)。或者想辦法設(shè)置實(shí)現(xiàn)免密碼登錄。 開(kāi)發(fā)完項(xiàng)目,免不了要部署上線(xiàn)。純手動(dòng)操作,登錄、拉代碼、改配置、清緩存、各種服務(wù)重啟等等一條龍下來(lái),人生寶貴的幾分鐘就過(guò)去了。而且手動(dòng)操作十分容易出錯(cuò),遺漏部分步驟都有可能產(chǎn)生一些邪門(mén)問(wèn)題。所以我很早就開(kāi)始尋求一種能輕松部...
摘要:本文重點(diǎn)介紹下開(kāi)發(fā)搭配,免費(fèi)輕松實(shí)現(xiàn)高質(zhì)量高顏值博客。其他系統(tǒng)的方法大同小異,只是環(huán)境配置略有不同,只要有和環(huán)境便可輕松入門(mén)。本篇內(nèi)容也可以查看我的個(gè)人博客 showImg(https://upload-images.jianshu.io/upload_images/15934130-09520016b6b12e80.jpg?imageMogr2/auto-orient/strip%7...
摘要:數(shù)人云今天帶來(lái)的文章將分享如何用實(shí)現(xiàn)命令行程序的過(guò)程中整體思路以及需要注意哪些問(wèn)題。月日,超越傳統(tǒng)運(yùn)維之道的話(huà)題將在北京延續(xù),四位業(yè)界大牛技術(shù)齊聚,結(jié)合傳統(tǒng)運(yùn)維現(xiàn)狀及實(shí)踐案例,講述的超越之道。 數(shù)人云今天帶來(lái)的文章將分享如何用Docker實(shí)現(xiàn)PHP命令行程序的CI/CD過(guò)程中整體思路以及需要注意哪些問(wèn)題。 6月10日,《DevOps&SRE超越傳統(tǒng)運(yùn)維之道》的話(huà)題將在北京延續(xù),四位業(yè)界...
摘要:數(shù)人云今天帶來(lái)的文章將分享如何用實(shí)現(xiàn)命令行程序的過(guò)程中整體思路以及需要注意哪些問(wèn)題。月日,超越傳統(tǒng)運(yùn)維之道的話(huà)題將在北京延續(xù),四位業(yè)界大牛技術(shù)齊聚,結(jié)合傳統(tǒng)運(yùn)維現(xiàn)狀及實(shí)踐案例,講述的超越之道。 數(shù)人云今天帶來(lái)的文章將分享如何用Docker實(shí)現(xiàn)PHP命令行程序的CI/CD過(guò)程中整體思路以及需要注意哪些問(wèn)題。 6月10日,《DevOps&SRE超越傳統(tǒng)運(yùn)維之道》的話(huà)題將在北京延續(xù),四位業(yè)界...
摘要:原文發(fā)表于以太坊智能合約開(kāi)發(fā)第六篇開(kāi)發(fā)框架在前面幾篇教程中,我們實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的合約,并通過(guò)編譯器將合約代碼編譯后,部署在私有鏈上。 原文發(fā)表于:以太坊智能合約開(kāi)發(fā)第六篇:truffle開(kāi)發(fā)框架 在前面幾篇教程中,我們實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的 Hello 合約,并通過(guò) solc 編譯器將合約代碼編譯后,部署在私有鏈Ganache上。本篇將介紹通過(guò)truffle框架來(lái)構(gòu)建自動(dòng)編譯、部署合約代碼...
閱讀 691·2021-11-22 14:45
閱讀 3196·2021-10-15 09:41
閱讀 1768·2021-10-11 10:58
閱讀 2904·2021-09-04 16:45
閱讀 2754·2021-09-03 10:45
閱讀 3330·2019-08-30 15:53
閱讀 1296·2019-08-29 12:28
閱讀 2236·2019-08-29 12:14