簡體   English   中英

我該如何創建一個使用作業DSL運行Groovy代碼的作業?

[英]how do I create a job that runs groovy code with the job dsl?

我可以在job dsl項目中運行此代碼:

def pluginsListFile = new File("${plugins}/plugins.txt")
def pluginsList = jenkins.model.Jenkins.instance.getPluginManager().getPlugins()
pluginsList.each {
    pluginsListFile.append "${it.getShortName()}: ${it.getVersion()}\n"
}

但是我希望job dsl腳本創建一個運行該常規代碼(按計划)的作業。 好像systemGroovyCommand是我將要使用的,因為我不了解-看來您必須為systemGroovyCommand使用.groovy 文件 ,這是我想避免的。

是的,它是systemGroovyCommand 您不必將此腳本存儲在單獨的文件中,但這是最佳實踐。 systemGroovyCommand接受字符串作為參數,因此您可以通過這種方式傳遞代碼,但要記住轉義特殊字符。

用法示例:

def script = '''
def pluginsListFile = new File("${plugins}/plugins.txt")
def pluginsList = jenkins.model.Jenkins.instance.getPluginManager().getPlugins()
pluginsList.each {
    pluginsListFile.append "${it.getShortName()}: ${it.getVersion()}\\n"
}
'''
job('TEST_JOB_SCRIPT') {
    steps {
        systemGroovyCommand(script)
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM