我在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"
有人知道正确的语法吗?
答案 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 选项。