我試圖去掉我的詹金斯輸出。感謝Is it possible to capture the stdout from the sh DSL command in the pipeline,我知道我可以將每個sh命令的輸出發送到一個文件。但是,命令本身仍然會寫入Jenkins輸出而不是文件。例如:是否可以將Jenkins管道中的sh DSL命令的所有輸出發送到文件?
sh '''echo "Hello World!"
./helloworld
./seeyoulater
'''
原樣,這導致詹金斯輸出看起來像這樣:
echo "Hello World!"
Hello World!
./helloworld
<helloworld output, possibly many lines>
./seeyoulater
<seeyoulater output, possibly many lines>
但是,如果我將輸出發送到一個文件,我得到這樣詹金斯輸出:
echo "Hello World!" > output.log
./helloworld >> output.log
./seeyoulater >> output.log
和output.log看起來像這樣:
Hello World!
<helloworld output>
<seeyoulater output>
這會導致我的Jenkins輸出不那麼混亂,但output.log最終在腳本輸出之間沒有任何分隔符。我想我可以在每個命令之前有echo <command>
,但這隻意味着我的詹金斯輸出再次變得混亂。
有什麼辦法可以將sh
DSL命令的整個輸出發送到文件嗎?基本上像sh '''<commands here>''' > output.log
是我正在尋找的東西。