Jenkins管道作业不会使用jenkins cli触发管道作业。当我以匿名方式运行jenkins时,这有效,但是当我创建用户/管理员时,它会失败。
我有一个具有参数的作业A并将其传递给Pipeline Job。这是主从设置。这就是我的运作方式:
sudo java -jar /home/user/jenkins-cli.jar -s $JENKINS_URL build pipeline_job -p parameter_Name="$parameter_Name" -p parameter_Name2="$parameter2_Name"
1。)我尝试使用选项“-auth”,“ - username -password”但不起作用。
错误: 没有这样的命令:-auth 没有这样的命令:-ssh
2.。)另一种选择是将公钥粘贴到SSH部分http://jenkin_url/me/configure中,但仍然失败
错误:
java.io.IOException: Invalid PEM structure, '-----BEGIN...' missing
我错过了什么吗?
答案 0 :(得分:1)
我找到了解决方案,
1。)使用SSH CLI。
在我的情况下,我使用的是主从环境,使用SSH密钥进行连接,反之亦然。为了使用Jenkins CLI触发构建,请将SSH密钥设置为public&私有并将它们放在http://jenkinsURL/user/username/configure
中此处用户名=用于连接节点的用户名。
按以下方式触发工作:
java -jar /home/username/jenkins-cli.jar -s $JENKINS_URL -i /home/username/.ssh/id_rsa build JOBNAME
注意:这是一种方式,但cloudbees不鼓励这种方法。
2.。)有新的方法,即使用API令牌认证。
触发构建如下:
java -jar /home/username/jenkins-cli.jar -s $ JENKINS_URL -auth username:apitoken /home/username/.ssh/id_rsa build JOBNAME
注意:要使用API令牌选项,请下载最新的jar文件