ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
![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