Jenkins管道作业以匿名方式触发,但不是以用户/管理员的身份触发
Jenkins管道作业不会使用Jenkins cli触发管道作业。当我以匿名的方式运行jenkins时,这是可行的,但当我创建一个用户/管理员时,它失败了 我有一个作业a,它有参数并将参数传递给管道作业。这是一个主从式设置。这就是我的跑步方式:Jenkins管道作业以匿名方式触发,但不是以用户/管理员的身份触发,jenkins,jenkins-plugins,jenkins-pipeline,jenkins-cli,Jenkins,Jenkins Plugins,Jenkins Pipeline,Jenkins Cli,Jenkins管道作业不会使用Jenkins cli触发管道作业。当我以匿名的方式运行jenkins时,这是可行的,但当我创建一个用户/管理员时,它失败了 我有一个作业a,它有参数并将参数传递给管道作业。这是一个主从式设置。这就是我的跑步方式: sudo java -jar /home/user/jenkins-cli.jar -s $JENKINS_URL build pipeline_job -p parameter_Name="$parameter_Name" -p parameter_N
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部分粘贴公钥,但仍然失败
错误:
java.io.IOException: Invalid PEM structure, '-----BEGIN...' missing
我有什么遗漏吗?我找到了解决方案
1.)使用SSH CLI
在我的例子中,我使用的是主从环境,连接是使用SSH密钥进行的,反之亦然。为了使用Jenkins CLI触发构建,请将SSH密钥放置在public和private中,并将它们放置在
此处用户名=用于连接节点的用户名
按如下方式触发作业:
java -jar /home/username/jenkins-cli.jar -s $JENKINS_URL -i /home/username/.ssh/id_rsa build JOBNAME
注意:这是一种方法,但cloudbees不鼓励这种方法
2.)有一种新的方法,即使用API令牌身份验证
- 去
- 复制API令牌
- 触发生成,如下所示:
java-jar/home/username/jenkins-cli.jar-s$jenkins\u URL-auth username:apitonk/home/username/.ssh/id\u rsa build JOBNAMEjava -jar /home/username/jenkins-cli.jar -s $JENKINS_URL -i /home/username/.ssh/id_rsa build JOBNAME
注意:要使用API令牌选项,请下载最新的jar文件这与此问题有关,但不清楚这是一般性的,不是特定于管道的。通常,如果未正确设置用户管理,则无法使用Jenkins cli触发和执行作业