jenkins之传送文件到远程主机
jenkins传送远程文件
主要使用两种item构建方式传送文件:1:freestyle 2:pipeline
- freestyle方式
- 新加一个步骤
- 选择传送的目标主机,主机需要在Manage Jenkins 中选择XXXX进行配置。可以添加主机,选择用户名密码方式进行配置,配置完成后点击测试连接,可以返回Success表示配置正常。注意目录设置后,传送到的最终地址为: 目录+RemoteDirectory
- 传送的可以是文件,也可以是文件夹。文件还可以使用通配符。remote prefix表示需要移除的目录。如图,传递后只有jar包,不带前缀文件夹
Source files是以当前工程的工作路径为基础的。
Exec Command非必填项。
- 传送文件夹配置时,配置成..的形式,target/..
传送完成后目标路径为主机中配置目录+Remote directory +target/所有文件
- pipeline方式
pipeline传送文件或者文件夹使用scp。
需要编写jenkinsfile
withCredentials([sshUserPrivateKey(credentialsId: '9fe01795-7d28-4a33-9f3e-147fecc03d00', keyFileVariable: 'identity', passphraseVariable: '', usernameVariable: 'root')]) {
echo "【start scp】"
sh 'scp -P 8888 uuuu.jar root@10.X.X.X:/tmp/'
}
credentialsId需要配置凭证:
jenkinsIP地址:端口号 + /jenkins/credentials/store/system/domain/_/newCredentials
凭证配置时选择秘钥方式 ,此处需要Add 当前jenkins所在机器的私钥内容,保存后喜提credentialsId
传送中一般还有些问题:
基本是两台机器获取认证失败,基本就是把另一台机器的公钥配置到authorized
-keys,最终导入known_hosts。这个操作需要两台机器相互认证。我们可以使用xshell等工具手动scp一次,弹出是够允许,输入yes,也可添加成功。
更多推荐
所有评论(0)