java.lang.NoSuchMethodError:在步骤 [archive、bat、build、catchError、checkout、deleteDir、dir、dockerFingerprintFrom、dockerFingerprintRun、echo、emailext、emailextrecipients、envVarsForTool、error、fileExists、getContext、git 中找不到这样的 DSL 方法“publishOverSsh” , 输入, isUnix, libraryResource, load, 邮件, 里程碑, 节点, 并行, 属性, pwd, readFile, readTrusted, resolveScm, retry, script, sh, sleep, stage, stash, step, svn, timeout, timestamps, tool, unarchive , unstash, waitUntil, withContext, withCredentials, withDockerContainer, withDockerRegistry, withDockerServer,
问问题
10881 次
1 回答
5
我使用 Jenkins groovy DSL 在远程机器上使用了 SCP 和 SSH,使用了 Sh:shell 脚本。
在此之前用于ssh-keygen
在主机和 Jenkins 之间创建连接以进行无密码身份验证。
对于无密码的 SSH 登录:
1) 使用 ssh-keygen 使用以下命令创建 ssh 公钥和私钥:
$ssh-keygen
2) 将公钥复制到远程主机中。ssh/authorized_keys
文件。
3)现在登录到远程机器没有密码。
现在要将包发布到远程服务器,请在 Jenkinsfile 脚本框中使用以下命令:
sh 'scp -r ./tests ubuntu@HOST_IP/URL:/home/ubuntu/'
//to execute commands over ssh on remote host which is written in test-script.sh file
sh 'ssh ubuntu@HOST_IP/URL < test-script.sh'
// For echo environmental variables BUILD_ID
echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
于 2017-03-02T10:30:28.280 回答