Jenkins-无法将生成工件复制到目标计算机上所需的根文件夹
我们刚从詹金斯开始做CI,所以我们肯定处于新手阶段。以下是我们正在尝试做的: 我们正在使用Publish-Over-SSH-Jenkins插件将构建构件传输到目标服务器,并传输到特定的根文件夹中——我们将其命名为/var/mycompany/myapp,这就是问题所在 我们已经将PublishOverSSH插件配置为使用密钥来连接到目标服务器。在managejenkins>configuresystem>SSH服务器部分,我们还配置了目标SSH服务器(名称/主机名/用户名/远程文件夹等)。测试时连接成功 构建作业已配置为“通过SSH发送工件”,作为构建后操作。现在,只要我将文件发送到目标服务器上用户的主文件夹位置(即它将创建必要的~/var/mycompany/mayapp文件夹结构并传输所有文件),就可以正常工作。但是-如果我将“通过SSH发布”配置更改为使用“/”的远程目录,作业将失败,并出现以下错误: SSH:从主机连接[myjenkins]SSH:与连接 配置[阶段测试仪]。。。SSH:创建会话:用户名 [myusername],主机名[x.x.x.x],端口[22]SSH:连接会话 ... SSH:已连接SSH:正在打开SFTP通道。。。SSH:SFTP通道 打开SSH:正在连接SFTP通道。。。SSH:Connected SSH:cd[/]SSH: OK-SSH:cd[var]SSH:OK-SSH:cd[mycompany]SSH:OK-SSH:mkdir [myapp]SSH:失败:消息[权限被拒绝] 起初,这对我们来说是有意义的,因为密钥是由目标Linux/Fedora服务器上不是sudoer的特定用户创建的。因此,我们让用户成为sudoer组的成员,希望这能解决问题。它还没有解决这个问题-我们继续得到“权限被拒绝”错误。所以问题是我们如何为我们的用户/密钥获得对服务器根目录的访问权 任何建议都将不胜感激。Jenkins-无法将生成工件复制到目标计算机上所需的根文件夹,jenkins,ssh,Jenkins,Ssh,我们刚从詹金斯开始做CI,所以我们肯定处于新手阶段。以下是我们正在尝试做的: 我们正在使用Publish-Over-SSH-Jenkins插件将构建构件传输到目标服务器,并传输到特定的根文件夹中——我们将其命名为/var/mycompany/myapp,这就是问题所在 我们已经将PublishOverSSH插件配置为使用密钥来连接到目标服务器。在managejenkins>configuresystem>SSH服务器部分,我们还配置了目标SSH服务器(名称/主机名/用户名/远程文件夹等)。测试时
谢谢 在使用Linux机器时,您可以尝试使用 在全局配置中,您只需像这样定义目标服务器: 您可以使用jenkins公钥来管理身份验证或用户/pwd 接下来,在Jenkins作业中,您可以创建一个构建后任务来复制服务器上的相关工件:
最后,这是我使用的解决方案:
- 源文件:**/*
- exec命令:sudo chef客户端
- 远程目录:var/my apps/my app
一旦完成了,一切都如期进行 谢谢布鲁诺,我试试这个。在您描述的场景中,将Jenkins的id_rsa.pub传输到目标机器并将其添加到.ssh/authorized keys中是一件简单的事情吗?确切的!)(如果我的解决方案可行,请不要忘记投票并接受)