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

Rundeck 将键数据值作为命令行参数传递

如何解决Rundeck 将键数据值作为命令行参数传递

如何将日志过滤器 key-value data 作为参数传递到参考作业之一。

我能够使用作业中可用的选项作为传递子参考作业使用的参数,

但是当我将日志过滤器键值数据变量作为 ${data.my_log_filer_var} 从父作业参数传递时,它不会在子作业中评估,但其他参数传递对于其他选项变量一样适用,我通过如:${option.my_another_var}

如果有任何其他方法可以将 ${data.my_log_filer_var} 传递给我的子作业,请告诉我。

解决方法

this之后,我做了一个小例子。基本上,您需要在孩子的工作中选择一个选项来“接收”来自父母工作的参数。此示例是您可以import 到您的实例的几个作业定义。

子作业(包含一个选项,该选项从传递数据变量的父作业调用):

- defaultTab: nodes
  description: ''
  executionEnabled: true
  id: 0aeaa0f4-d090-4083-b0a5-2878c5f558d1
  loglevel: INFO
  name: ChildJob
  nodeFilterEditable: false
  options:
  - name: opt1
  plugins:
    ExecutionLifecycle: null
  scheduleEnabled: true
  sequence:
    commands:
    - exec: 'echo "the argument is: ${option.opt1}"'
    keepgoing: false
    strategy: node-first
  uuid: 0aeaa0f4-d090-4083-b0a5-2878c5f558d1

以及父作业(创建数据值并使用参数 -opt1 ${data.mydata} 将其传递给子作业)

- defaultTab: nodes
  description: ''
  executionEnabled: true
  id: 5c3d4248-9761-45d4-b164-6e38d5146007
  loglevel: INFO
  name: ParentJob
  nodeFilterEditable: false
  plugins:
    ExecutionLifecycle: null
  scheduleEnabled: true
  sequence:
    commands:
    - exec: env
      plugins:
        LogFilter:
        - config:
            invalidKeyPattern: \s|\$|\{|\}|\\
            logData: 'true'
            regex: ^(USER)\s*=\s*(.+)$
          type: key-value-data
    - exec: 'echo "the data value is ${data.USER},sending to child job using arguments
        on job reference step..."'
    - jobref:
        args: -opt1 ${data.USER}
        group: ''
        name: ChildJob
        nodeStep: 'true'
        uuid: 0aeaa0f4-d090-4083-b0a5-2878c5f558d1
    keepgoing: false
    strategy: node-first
  uuid: 5c3d4248-9761-45d4-b164-6e38d5146007

,

global variable step 可以捕获由 key-value data log filter 捕获的数据变量。

例如,如果您将键值数据捕获到 export 组,则可以创建一个全局变量 {export.keyname*},该变量可用于其他步骤或通知中。请注意,如果您只想要来自单个节点的值,则应改用 {export.keyname@nodename}

Rundeck Docs

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