摘要:簡介安裝完成后輸入開始初始化,生成默認的配置文件命令的實現在文件中目錄則包含了初始化相關的模板命令類類繼承了的類,實現為一個命令行的命令構造函數構造函數主要初始化了的和兩個變量是一個包含了多個模板的初始化器具體實現就是下面將要分析的是初始化
0 簡介
Deployer安裝完成后1 InitCommand.php init命令 1 InitCommand類
輸入dep init開始初始化,生成默認的配置文件deploy.php
init命令的實現在srcConsoleInitCommand.php文件中
scrInitializer目錄則包含了初始化相關的模板
class InitCommand extends Command{}
InitCommand類繼承了Symfony的Command類,2 __constrcut() 構造函數
實現為一個命令行的命令
構造函數主要初始化了InitCommand的initializer和availableTemplates兩個變量3 configure() 命令配置函數initalizer 是一個包含了多個模板的初始化器
具體實現就是下面將要分析的InitalizeravailableTemplates 是初始化器中已注冊的模板名數組
這里調用Symfony的command的setName(),setDescription(),addOption()配置了init命令4 execute() 命令執行函數
setName("init") 命令名稱為initsetDescription() 設置了命令的描述信息,在輸入help時顯示
addOption() 添加了三個選項-template默認初始化模板
-directory 配置文件deploy.php生成目錄 -filename 配置文件的名稱,默認為deploy.php
首先獲取命令行輸入的選項參數$template $directory $file5 createInitializer() 創建初始化器
如果沒有輸入$template,則調用Symfony輸出模板選項信息提示用戶選擇一個模板
然后調用初始化器initializer的initalize()方法開始初始化配置文件
輸出提示信息 創建配置文件成功
在InitCommand的構造函數中用來創建初始化器2 Initializer 模板初始化器 1 Initializer.php 初始化器 0 簡介
其中注冊了deployer自帶的模板
Initializer類是deployer用來管理配置模板的初始化器。1 addTemplate() 添加模板
添加模板到模板初始化器中2 getTemplateNames() 獲取已注冊模板名
返回已注冊的所有模板名數組3 initalize() 初始化配置模板
$template參數 模板類型4 checkDirectoryBeforeInitialize()
$directory參數 配置模板生成目錄
$file參數 配置模板文件名
$params參數 其他參數首先根據$template獲取對應的注冊的模板類
然后創建模板文件
最后調用獲取的模板類的initalize()初始化模板文件
檢查初始化模板目錄并創建5 checkFileBeforeInitialize()
檢查初始化模板文件并創建2 Template 初始化模板 1 TemplateInterface.php 模板接口
聲明所有模板類需要實現initalize()方法2 Template.php 模板基類
用來初始化模板類的配置文件
initalize() 初始化模板文件3 CommonTemplate 基礎模板類 1 getTemplateContent()
首先合并參數信息到$params。
然后調用模板子類的getTemplateContent()獲取模板內容。
寫入獲取的內容到模板配置文件
獲取模板內容4 FrameworkTemplate.php 框架模板基類 1 getTemplateContent() 1 getTemplateContent()
獲取簡單的模板內容
獲取模板內容2 getRecipe()
框架類模板的基礎內容
然后調用getExtraContent()獲取特定框架的內容信息
獲取模板食譜名3 getExtraContent()
獲取特定框架類的配置內容5 LaravelTemplate Laravel配置模板類
這里的框架模板類以Laravel為例1 getRecipe()
獲取框架的食譜名稱,deployer為Laravel框架預設了部署流程 具體內容在reciple目錄的laravel文件中2 getExtraContent()
這里的getRecipe()就是獲取文件名
獲取Laravel框架的特定內容3 總結
這里主要注冊了deploy:symlink前執行artisn:migrate命令
init 命令初始化deploy的配置文件deploy.php其中根據選項參數獲取template 初始化不同的模板。
-2018-4-5 18:58
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28549.html
摘要:文件包含了基本的部署配置和任務,且有明確的注釋,你可以根據注釋在適當的地方添加配置以及任務。自動部署到了這里,恭喜你,已經可以愉快使用。 showImg(https://pigjian.com/storage/post_img/2017-04-09/deployer.jpg); 本文主要介紹 Deployer —— 一個具有模塊化、代碼回滾、并行任務等功能的 PHP 部署工具。 De...
摘要:開發完項目,免不了要部署上線。進行部署的過程中,項目仍然能夠正常訪問。能十分方便地進行回滾。線上測試與生產使用的是青云的云主機,系統。或者想辦法設置實現免密碼登錄。 開發完項目,免不了要部署上線。純手動操作,登錄、拉代碼、改配置、清緩存、各種服務重啟等等一條龍下來,人生寶貴的幾分鐘就過去了。而且手動操作十分容易出錯,遺漏部分步驟都有可能產生一些邪門問題。所以我很早就開始尋求一種能輕松部...
摘要:博客的架構先搞明白博客從搭建到自動發布的架構,才能更好的理解我們每一步進行的操作。整個搭建流程第一部分服務器環境搭建,包括安裝配置創建用戶。在裸庫的文件夾中,新建文件。 1. 博客的架構 先搞明白Hexo博客從搭建到自動發布的架構,才能更好的理解我們每一步進行的操作。不然只跟著步驟過了一遍,卻不知道為什么這么做。 首先看這張架構圖:showImg(https://segmentfaul...
摘要:后來網上看到了很多和搭建的靜態博客,由于編輯器的實用性,及,等代碼托管平臺的免費特點,讓很多人都轉向了和。于是我也花了兩三天的時間來研究搭建了自己的博客。 以前的博客(blog.duweibin.cn)是在學習thinkphp的時候自己做的一個小項目,模板也是網上找的,后臺是自己用thinkphp框架寫的,上一個博客搭建過程中讓自己學會了thinkphp對MVC操作,(M層還沒具體用過...
摘要:功能簡介實現的自動化部署的任務執行工具項目地址代碼結構命令行入口目錄命令行入口常用項目配置模板發布腳本核心實現安裝生成目錄常用項目配置模板目錄下包括一些常見框架部署配置模板相關命令當前運行服務器目錄信息當前配置信息當前服務器信息 0 功能簡介 php實現的自動化部署的任務執行工具 1 項目地址 https://github.com/deployphp/... 2 代碼結構 deplo...
閱讀 2222·2023-04-26 01:57
閱讀 3239·2023-04-25 16:30
閱讀 2323·2021-11-17 09:38
閱讀 1068·2021-10-08 10:14
閱讀 1382·2021-09-23 11:21
閱讀 3677·2019-08-29 17:28
閱讀 3449·2019-08-29 15:27
閱讀 943·2019-08-29 13:04