python - 解析模板然后生成作业 dsl 文件的脚本

标签 python node.js bash

我正在考虑使用nodejs、bash 或python。我希望 99% 自动化构建我们的工作 dsl groovy 文件。所以现在,这就是我打算做的事情。我将创建一个模板文件

// example groovy file, not template
job("somejobname") {
  stringParameters('var1', '', '')
  stringParameters('var2', '', '')
  stringParameters('var3', '', '')
  stringParameters('var4', '', '')
  stringParameters('var5', '', '')
  stringParameters('var6', '', '')
}

现在是我将用来动态构建上述内容的模板。我将使用 @@SP@@ 只是一个例子

// job.template file
job("somejobname") {
  @@SP@@
}

在我的nodejs、bash或python脚本中,它将读取另一个外部文件,例如values.txt或values.json等。

// values.txt
SP=['var1','var2','var3','var4','var5','var6']

// or values.json
{ SP: ['var1','var2','var3','var4','var5','var6'] }

读取后,这些值将用于替换@@SP@@。该脚本将生成一个新文件。

最佳答案

只需使用简单的模板引擎,例如 Mustache - 或 Mistigri(npm install Mistigri)

模板可能如下所示:

 job("someJobName") {
 {{#SP}}  stringParameter('{{.}}', '', '')
 {{/SP}}}

关于python - 解析模板然后生成作业 dsl 文件的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37077684/

相关文章:

python - 使用Python生成器的直方图问题?

node.js - 在 Facebook channel 上发送消息时无法添加换行符

json - NPM 警告 "No Repository Field"但我没有存储库

python - virtualenv 和 virtualenvwrapper "There was a p roblem running the initialization hooks"突然之间

MySQL哈希列密码+脚本bash

python - 为什么这个闭包不修改封闭范围内的变量?

python - 在Python 3中使用 map

python - 在不破坏现有回调的情况下将额外的可选参数传递给回调

node.js - Mongoose 中的 ArrayFilter

bash - 从文本文件中提取特定行