如何从ansible剧本到jenkins文件中获取一些返回值???我想从janskins的任务中推送自定义状态详细信息。我正在使用jenkins ansible插件。请帮忙。
stage('Deploying and restarting the application') {
withEnv(['ANSIBLE_HOST_KEY_CHECKING=False']) {
ansiblePlaybook credentialsId: 'cred',
extras: "-e artifactName=${artifactName} -e artifactPath=${artifactPath} -e version=${version} -e packaging=${packaging}",
installation: 'Ansible 2.1',
inventory: 'ansible/Inventory',
playbook: playbookPathHolder, sudoUser: null
}
}
答案 0 :(得分:2)
最好的方法是使您的剧本将输出内容写入Jenkins可以解析的文件中。
在ansible内部,您可以使用以下过滤器将变量序列化为文件:
{{ some_variable | to_nice_json(indent=2) }}
从Jenkins可以使用以下方法将文件反序列化为JSON对象:
def ansibleOut = new JsonSlurper().parseText(inputFile.text)