微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rundeck - 根据 sql 查询结果可选择执行步骤

如何解决Rundeck - 根据 sql 查询结果可选择执行步骤

我对 rundeck 很陌生,我被要求插入一些东西(一个步骤或者我真的不知道是什么)来检查作业的数据是否是最新的(一个 sql 脚本可以为我提供一个日期或参数)。根据此条件,作业可以启动或不启动。 我已经在网上冲浪了几天,但没有找到任何答案。你能帮我吗?

解决方法

在 Rundeck Enterprise 上,您可以使用 Ruleset Workflow Strategy 根据从 SQL 查询生成的选项或数据值(检查与数据值相关的 this 示例)来决定是否运行某个作业或步骤.

社区版本的最佳方法是使用 inline-script 步骤调用包含您使用 RD-CLIRundeck API(使用 cURL)的步骤的作业。查看 this 示例,了解如何使用 RD-CLI 从内联脚本步骤调用作业。

您可以编写如下脚本:

if [ @data.your_data_value@ = 'available' ]; then
    rd run -p YourProjectName -j YourJobToCall
else
    echo "Not available,nothing to do"
fi

当然,如果您不想调用其他作业,您可以创建一个包含所有逻辑的内联脚本步骤,例如:

if [ @data.your_data_value@ = 'available' ]; then
    # step logic
else
    echo "Not available,nothing to do"
fi

因此,我们的想法是创建第一步,使用 SQL 调用生成数据(也检查 this),然后第二步获取该数据并决定内联脚本步骤。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。