摘要:简介安装完成后输入开始初始化,生成默认的配置文件命令的实现在文件中目录则包含了初始化相关的模板命令类类继承了的类,实现为一个命令行的命令构造函数构造函数主要初始化了的和两个变量是一个包含了多个模板的初始化器具体实现就是下面将要分析的是初始化
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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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