我正在寻找通过 Jenkins 作业远程执行脚本的最佳方法。 什么更好:
- 直接在“通过 SSH 发送文件或执行命令”选项卡上的 Jenkins“执行命令”标签上编写命令。
- 只需复制一个 bash 文件到远程并通过 Jenkins 的“Exec Com..”标签命令执行即可。
我问这个问题的原因是因为我正在努力使用第二种方法(即执行位于远程的本地文件......)并且认为这可能不是最佳实践。
此外,我是否应该使用 sudo 执行脚本(因为以 sudo 运行会导致我在尝试克隆时出现 gitlab 问题......)。 当我执行脚本时,他要求输入密码。 到目前为止,对/etc/sudoers 添加的权限没有完成这项工作,但我想这可能是制表符/行问题...可能吗?
有什么建议吗?
最佳答案
我个人会选择 SSH 协议(protocol)方法(简单、安全和可靠)。此外,已经为您提到的那些用例制作了一些插件。
You can use the SSH Plugin to run shell commands on a remote machine via ssh.
所以这个插件适合您通过 SSH 远程执行脚本或命令的第一个选项。
The goal of the Publish Over plugins is to provide a consistent set of features and behaviors when sending build artifacts ... somewhere.
Publish over SSH 插件允许您将文件复制到远程服务器并在远程服务器上执行任意命令。所以这适合您想要先复制脚本然后执行的第二种方法。
实际上,您可以使用任何这些插件(两者都使用 SSH,因此更安全)。问题是什么最适合你。明智地选择:)
关于linux - 通过 Jenkins 远程执行脚本的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53296193/