Deploy 的基本用法
在这个演示中,我们会创建和部署一个新的 Node,然后发布一个针对该 Node 的更新。
部署
一次部署分为两个阶段:把内容添加到部署计划,发布部署计划。部署计划的发布将内容添加到目标服务器。
部署计划
一个部署计划包含一组将要发布到目标服务器上的内容。这些内容可以手工添加到部署计划中,也可以使用 Views 聚合或者 Rules 进行自动化操作。
手工添加内容
在源服务器进入
node/add/article
,创建一个新的 Article。然后随便选一些选项并保存。进入
admin/content/node
,查看刚新建的 Node,从 Update options 中,Add to managed deployment plan
下选择部署计划,点击 Update 按钮,然后在其他需要添加的内容上做同样的操作。要发布这个计划,进入
admin/structure/deploy
然后点击 Deploy 连接,点击 Deploy 按钮进行确认。在源服务器上运行Cron(这是因为在 Deploy 安装指南中选择 Queue API 作为 Deployment 处理器)。
编辑步骤1中提到的Node并保存。
重复第二和第三步。
在源服务器上运行Cron。
注:可以在 admin/reports/dblog
上查看部署消息。
自动部署计划
上文中我们通过手工添加内容到部署计划的方式发布了一个Node,接下来我们看看更自动化的方式。
Views Aggregation
确认你完成了 Deploy 安装中的所有步骤。我们要创建一个 Views Aggregator(和一个 View),而不是用一个 Managed aggregator。
在源服务器:
启用如下模块:Views deployment aggregator
drush en deploy_aggregator_views
创建一个包含你想要添加到 Deployment plan 中的内容的 View(也可以直接使用首页 View)。
接下来,利用 Views aggragator 创建一个部署计划:进入
admin/structure/deploy/plans
,点击”Add”。给计划命名,例如 “Push to live server”。Aggregator 选择 Views aggregator;清空 Fetch only 选项;Deploy processor 使用 Queue API;Endpoints 设置为 Deploy 安装中的设置内容。点击 “Continue” 进入下一步。
选择刚才新建的 Aggregator View(或者选择缺省的首页视图)。
没有需要配置的插件,点击完成。
要发布这个计划,进入
admin/structure/deploy
点击 Deploy 连接,确认发布。
所有出现在指定视图中的内容都会被添加到部署计划中。创建视图之后发布的内容也会包含进来。如果有内容在发布的同时进入该视图,那么他会被加入部署计划,并推送到目标服务器。
Rule Actions
在源服务器上:
确认按照Installing Deploy中讲到的方法创建一个Managed aggregator,记住点击”Delete successfully deployed items(删除发布成功的内容)“。
下载Rules模块。
drush dl rules
启用Rules以及Rules UI模块。
drush en rules rules_admin
进入
admin/config/workflow/rules
,点击Add new rule
。输入
Content to Deployment plan
,或者其他什么名字,在React on event
中选择After saveing new content
(新建内容之后)(这个选项位于 Node 的下级)。点击Add
。点击
Add Event
(添加事件)。选择
After updating existing content
(更新现有内容),点击Add
。点击
Add Condition
(添加条件).在
Select the condition to add
中选择Content is of type
(内容属于某类)。在 Data Selector 中选择 Node,并在 Content type 检查条件中选择 Article。
点击
Add action
。在
Select the action to add
中选择Add an entity to a managed deployment plan
。在 Value 中选择之前创建的 Managed aggregator 计划,在 Data Selector 中选择 node,点击 Save。
在
node/add/article
中创建新的 Article。进入
admin/structure/deploy
,可以看到刚创建的 Article 已经在第 13 步中的计划之中了。现在开始,所有新创建和更新的 Articles 都会被自动加入部署计划。要发布计划,进入
adimin/structure/deploy
,点击 “Deploy” 按钮,然后利用 “Deploy” 按钮确认。
另外,要把部署计划做成自动化部署,可以添加一个 Rule Action “Deploy a plan”,使得每次 Aticle 的创建和编辑都触发部署计划的发布。这种做法并不推荐。