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