![execution元素](https://gitee.com/mianshenglee/datastorage/raw/master/md-photo/deploy-tool/execution%E5%85%83%E7%B4%A0.jpg)
`execution`元素是需要执行的每一个操作,它通过设置对应的操作类,结合操作配置信息(`configuration`),依赖(`dependencies`),子操作(`sub-execution`),组合成为一个完整的操作,以实现安装部署功能。如上面安装tomcat的示例中,使用`OperRunCommand`操作,并指定要执行的脚本路径或参数,即可完成tomcat安装。
```xml
<execution name="安装Tomcat" id="installWebTomcat" display="true" class-name="deploy.OperRunCommand">
<configuration>
<commands>
<command>
<exec><![CDATA[scripts/windows/disk/webapp/install_tomcat.bat]]></exec>
<args>
<arg><![CDATA[$${web_extranet_port}]]></arg>
</args>
</command>
</commands>
</configuration>
</execution>
```
说明:
> * `execution`元素在显示时,会根据所在的`group`序号及当前`execution`在`group`中的位置自动添加序号。如`group`的序号是1,当前`execution`的位置是1,则它显示的序号是"1.1",后续的`execution`依次递增(1.2/1.3/1.4/...)。
> * `name`,必填,可为属性或元素,写其一即可,根据实际操作命名。
> * `id`,必填,可为属性或元素,写其一即可,此ID全局唯一,即其它execution的ID不能与之重复。此ID命名规则与java变量命名规则一致($ 、字母、下划线开头都行,后面的可以是数字、字母、下划线)。此ID在运行部署工具时,可作为运行参数输入,这样就不会出现交互界面,相当于直接执行此操作。
> * `display`,必填,可为属性或元素,写其一即可,可选值为"true"或"false"。若为"true",则在交互界面中会显示出来,供用户选择。若为"false",则不在交互界面显示,用户也无法选择。
> * `class-name`,必填,可为属性或元素,写其一即可。此值填写部署工具提供的操作类,每种操作类均有其相应的功能。当前共有7种操作,包括`OperRunCommand`运行命令操作,`OperGenerateLicense`生成许可证,`OperGenerateQrcode`生成二维码操作,`OperListConfig`显示当前属性配置操作,`OperRunDbStatement`运行sql语句操作,`OperRunDependency`只运行依赖的操作,`OperUpdateFile`更新配置文件操作。在填写`class-name`时,需要填写统一前缀`deploy.`,如`deploy.OperRunCommand`
> * `configuration`元素,针对每种操作,有其相应的配置内容,请根据`class-name`对应的操作进行设置,详细见`configuration`元素的章节说明。
> * `dependencies`元素,若当前`execution`操作是需要依赖其它操作,即在执行本`execution`时,会先执行`dependencies`中设置的依赖操作,待依赖操作完成后再执行本操作。详细见`dependencies`元素的说明。
> * `sub-execution`元素,若此操作可分解为多个子操作,可在这里进行设置。同样,部署工具会自动添加序号,规则与`execution`的序号一致。如假设当前`execution`是2.1,`sub-execution`在中的有2个`execution`,则它们的序号分别是2.1.1及2.1.2。详细见`sub-execution`说明。
[11]: http://ww1.sinaimg.cn/large/72d660a7gw1fbn5pmnun2j209s0b0mxe.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. 问题与反馈