我正在尝试找到一种使用 Jenkins Groovy Script-Console 将一些内容写入文件的方法。
用例:我们的 CI 使用所有节点之间共享的卷(又映射到 EFS)来管理一些状态机。然而 - 在我们的 CI groovy 共享库中发现错误之后,我发现一些状态文件已损坏,需要将更正的值写入它们,同时修复错误。
但是,我可以使用 ssh 连接来做到这一点,因为我们正在抽象出我们试图从中退出的工作人员,并仅从脚本控制台和/或 ci 作业中管理自己。
我尝试了所有这些形式,但都失败了:
"echo 'the text' > /mnt/efs-ci-state/path/to/the-state-file.txt".execute().text
"""
cat <<<EOF > /mnt/efs-ci-state/path/to/the-state-file.txt
the text
EOF
""".execute().text
"bash -c 'echo the text > /mnt/efs-ci-state/path/to/the-state-file.txt'".execute().text
"echo 'the text' | tee /mnt/efs-ci-state/path/to/the-state-file.txt"
任何人都可以告诉我这样做的方法吗?
我也很感激解释为什么上面的表格不起作用和/或提示如何执行包括从该脚本控制台引导的管道和/或 stdio 的命令。
谢谢 :)