添加Rundeck Ansible“ Extra Vars”的正确语法

时间:2018-10-30 04:37:26

标签: json ansible ansible-2.x rundeck

我在Ansible 2.7中使用Rundeck 3.0.7,无法找出将变量传递到我的Ansible剧本的正确语法。如果我从命令行运行它,它将运行正常。

ansible-playbook test-playbook.yml -i hosts -e "FirstName=John LastName=Doe OfficePhone=365"

但是,当我将这些变量添加到Rundeck作业的“其他变量”部分时,我添加了以下内容,但它不起作用。

-e "FirstName=John LastName=Doe OfficePhone=365"

有人知道正确的语法吗?

2 个答案:

答案 0 :(得分:1)

在工作流程中,请使用以下选项定义您的剧本其他参数:

-e“ test1 = $ {option.test1} test2 = $ {option.test2}”

这样,您就可以在ansible-playbook的参数中获取这些变量名的options值。

答案 1 :(得分:1)

您还可以将“额外变量”部分与 yaml 语法一起使用,例如

fetch("https://disease.sh/v3/covid-19/countries")
  .then((res) => res.json())
  .then((res) => setData(res));

这也可以通过从 Rundeck 传递到 Ansible 的变量来完成:

额外变量:

    private void Shareoption(List<RecordData> uploadlist)
{
    RecordData reco2 = uploadlist.get(0);
    String id3 = reco2.getId();
    final RecordData recordData = DBcreatedata.getData(id3);
    final File f;
    locname =   recordData.getRecordDataTitle();
    f = new File(recordData.getRecordData());

    Uri uri = Uri.parse(f.getAbsolutePath() );
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("audio/*");
    share.putExtra(Intent.EXTRA_STREAM, uri.toString());
    startActivity(Intent.createChooser(share, "Share Sound File"));

当然,您需要定义 Rundeck 选项。

Source