![dependencies元素](https://gitee.com/mianshenglee/datastorage/raw/master/md-photo/deploy-tool/dependencies%E5%85%83%E7%B4%A0.jpg)
`dependencies`元素主要设置当前`execution`元素需要依赖的操作,若设置了此依赖,在运行`execution`前会先按顺序执行依赖项,完成后再执行当前的`execution`。它主要在`OperRunDependency`操作及`OperRunCommand`操作中设置。如下所示是设置安装redis前,需要先更新配置文件、变更文件权限:
```xml
<execution name="安装Redis" id="installRedis" display="true" class-name="deploy.OperRunCommand">
<configuration>
<commands>
<command charset="utf-8">
<exec><![CDATA[scripts/linux/db/redis/install_redis.sh]]></exec>
</command>
<!-- 开通端口 -->
<command charset="utf-8">
<exec><![CDATA[scripts/linux/common/add_port.sh]]></exec>
<args>
<arg><![CDATA[$${server.redis.port}]]></arg>
</args>
</command>
</commands>
</configuration>
<dependencies>
<dependency ref-id="updateConfigFiles"/>
<dependency ref-id="chmodFile"/>
</dependencies>
</execution>
```
说明:
> * `dependencies`元素下有>=1个`dependency`元素。
> * `dependency`元素使用`ref-id`表示依赖的`execution`,`ref-id`值为要执行的`execution`的id。`ref-id`可为属性或元素,写其一即可。
> * `dependency`元素可使用`condiction`属性设置条件,对符合此条件的才执行此`ref-id`的操作,不符合条件则不操作。如使用`condiction="$${server_web_extranet_protocol}==https"`,表示当用户使用https部署,设置`server_web_extranet_protocol`的值为https时符合条,若不等于https,则不符合,跳过此依赖。
> * `dependency`元素下可使用`result`元素设置此依赖的操作执行后,根据它的执行结果如何进行下一步。若不设置此元素,则采用默认操作。即
`<result skip="false">
<success>move</success>
<fail>stop</fail>
</result>`
即当此依赖执行成功后,才进行下一个依赖操作,失败后即停止,返回到交互界面。如果设置为`skip`为true,则不管此依赖是否执行成功,都会进行下一步操作。当`skip`为true时,`success`及`fail`元素不用设置。
[13]: http://ww4.sinaimg.cn/large/72d660a7gw1fbn6wqvdtlj20gy07faa8.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. 问题与反馈