当我使用jenkins pipline从gitlab签出和rsync到远程主机时,在同一台机器上的error.But不同目录签出和rsync到远程主机没有问题。并且在同一台机器上,相同的目录rsync到另一台远程主机上没有问题。
下面是我的rsync命令:
rsync -avn --delete '-e ssh -p 666' ./dist/ root@x.x.x.x:/data/foweb/dist/我的pipline脚本:
node {
stage('CheckOut') {
checkout([$class: 'GitSCM', branches: [[name: '**']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'a2cc73a7-b0c8-4497-9083-47ef78a03bc4', url: 'git@gitlab.foschool.cn:front/foweb.git']]])
}
stage('Build') {
sh '''
cnpm install
npm run build
'''
}
stage('Deploy Test'){
sh '''
rsync -av --delete '-e ssh -p 666' ./dist/ root@x.x.x.x:/data/www/foweb/
'''
}发布于 2017-11-23 13:43:54
每当Jenkins和ssh失败时,当ssh命令(这里是通过rsync -e)在本地工作时,您需要检查运行Jenkins的用户。
如果该用户与本地用户(正在成功运行ssh )不同,这意味着~/.ssh/id_rsa(.pub)密钥对Jenkins不可见。
您需要将这些密钥报告给运行Jenkins的~user/.ssh (或者,最好是为Jenkins创建专用密钥)。
https://stackoverflow.com/questions/47446724
复制相似问题