Я пытаюсь вызвать приведенный ниже сценарий соли с помощью Jenkins:
create_script:
file.managed:
- name: /tmp/broc/import_props.sh
- source: salt://projects/broc/jboss/files/import.sh.jinja
- template: jinja
Import_properties:
cmd.script:
- name: /tmp/broc/import.sh
- cwd: /tmp/broc`
Вывод консоли Jenkins:
`ID: create_script
Function: file.managed
Name: /tmp/broc/import.sh
Result: True
Comment: File /tmp/broc/import.sh updated
Started: 11:31:13.736928
Duration: 166.319 ms
Changes:
----------
diff:
New file
mode:
0644
ID: Import_properties
Function: cmd.script
Name: /tmp/broc/import.sh
Result: False
Comment: Command '/tmp/broc/import.sh' run
Started: 11:31:13.903378
Duration: 399.825 ms
Changes:
----------
pid:
8292
retcode:
1`
И сборка Jenkins завершена успешно:
`Succeeded: 21 (changed=22)
Failed: 1
Total states run: 22
Total run time: 30.338 s"}}]
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS`
У меня вопрос с идентификатором задания для подделки. Import_properties Результат - False.Таким образом, сборка Jenkins также должна заканчиваться как FAILURE.В вышеприведенном случае результат подсолки игнорируется и получается готовый УСПЕХ.Есть ли способ сделать сборку jenkins FAILURE на основе результата salttack?
Я вижу следующий конвейер Jenkins: `try {saltCmd =" \ "salt -E \" ($ target) \ "\ state.apply projects.alip.process-server \ pillar = \ '{\ "region \": \ "$ {Region} \", \ "siteid \": \ "$ {SiteID} \", \ "dbuser \":\ "$ {DBUSER} \", \ "dbpass \": \ "$ {DBPASS} \"} \ '\ ""
result = salt authtype: 'pam',
clientInterface: local(
arguments: saltCmd,
blockbuild: true,
function: 'cmd.run',
target: "$my_salttarget",
saveFile: true,
targettype: 'glob'),
credentialsId: "$my_saltcred",
servername: "$my_saltserver"
}
}catch(e){
result = e.toString()
currentBuild.result = 'FAILURE'
}finally{
echo result.replace("\\n",'\n')
}
}`
Я новичок в конвейерном скрипте Jenkins, можете ли вы предложитьвходные данные для добавления шагов посткомпоновки в разделе finally для анализа выходных данных консоли Jenkins, определения строки и, если она соответствует, помечают сбой сборки.Это похоже на плагин для поиска текста, за исключением того, что мы пишем конвейерный скрипт.