![sub-execution元素](https://gitee.com/mianshenglee/datastorage/raw/master/md-photo/deploy-tool/sub-execution%E5%85%83%E7%B4%A0.jpg)
`sub-execution`元素用于对当前execution的分解,若此操作可分解为多个子操作,可在这里进行设置。`sub-execution`元素下可有>=1个`execution`元素。`execution`元素的定义与前面介绍的`execution`元素一致。
部署工具会对子操作自动添加序号,规则与`execution`的序号一致。如假设当前`execution`是2.1,`sub-execution`在中的有2个`execution`,则它们的序号分别是2.1.1及2.1.2。在交互界面中,当用户选择2.1.1时,即会执行对应的子操作。
一般有子操作时,会把当前`execution`元素设置为`OperRunDependency`操作类型,然后使用`dependencies`元素,把此操作依赖它的`sub-execution`,这样,即可在用户选择2.1时,自动执行2.1.1和2.1.2。如下面示例,安装消息服务,就是"安装Erlang与RabbitMQ"和"安装MsgService",因此把`installMessageService`设置为`OperRunDependency`,然后依赖这两个操作:
```xml
<execution name="安装消息服务" id="installMessageService" display="true" class-name="deploy.OperRunDependency">
<dependencies>
<dependency ref-id="installErlangAndRabbitMQ">
<result skip="true" />
</dependency>
<dependency ref-id="installMsgService"/>
</dependencies>
<sub-execution>
<execution name="安装Erlang与RabbitMQ" id="installErlangAndRabbitMQ" display="true" class-name="deploy.OperRunCommand">
<configuration>
<commands>
<command>
<exec><![CDATA[scripts/windows/test/message/install_message_erlang_mq.bat]]></exec>
</command>
</commands>
</configuration>
</execution>
<execution name="安装MsgService" id="installMsgService" display="true" class-name="deploy.OperRunCommand">
<configuration>
<commands>
<command>
<exec><![CDATA[scripts/windows/test/message/install_msg_service.bat]]></exec>
<args>
<arg><![CDATA[$${server_msg_tcp_port}]]></arg>
</args>
</command>
</commands>
</configuration>
<dependencies>
<dependency ref-id="updateConfigFiles"/>
</dependencies>
</execution>
<sub-execution>
</execution>
```
[14]: http://ww2.sinaimg.cn/large/72d660a7gw1fbn6x1paruj20c806074a.jpg
- 关于部署工具
- 1. 使用场景
- 1.1 传统部署方式痛点
- 1.2 自动部署方式
- 2. 功能概览
- 2.1 部署工具面向的人员
- 2.2 部署工具功能
- 3. 部署工具运行流程
- 3.1 部署工具从制作到使用
- 3.2 部署工具目录结构
- 3.3 运行流程
- 3.4 配置文件概述
- 3.4.1 全局属性配置文件global_config
- 3.4.2 用户属性配置文件custom_config
- 3.4.3 其它属性配置文件
- 3.4.4 流程配置文件
- 3.4.5 占位符
- 4. 部署工具使用详解
- 4.1 流程配置文件简单示例
- 4.2 流程配置文件结构
- 4.2.1 首行及根元素
- 4.2.2 xml文件结构
- 4.2.3 properties/property元素
- 4.2.4 executions/group元素
- 4.2.5 execution元素
- 4.2.6 configuration元素
- 4.2.7 dependencies元素
- 4.2.8 sub-execution元素
- 4.2.9 commands元素
- 4.2.10 replace-files元素
- 4.2.11 datasourse/statements元素
- 4.2.12 args元素
- 4.3 流程配置文件功能示例
- 4.3.1 分析安装及卸载mariadb需要的模块
- 4.3.2 确定用户统一配置
- 4.3.3 编写流程配置文件
- 4.4 部署脚本编写
- 5. 完整db(mariadb及redis)部署示例
- 5.1 mariadb及redis部署结构分析
- 5.1.1 模块划分
- 5.1.2 部署环境包制作
- 5.1.3 项目实施人员使用流程
- 5.2 db部署包示例及脚本
- 5.3 部署环境升级
- 6. 问题与反馈