Jenkins管道作业被匿名触发,但不作为用户/管理员
Jenkins管道作业不使用jenkins cli触发管道作业。当我运行jenkins作为anaonymous这个工程,但是当我创建一个用户/管理它失败。Jenkins管道作业被匿名触发,但不作为用户/管理员
我有一个工作A有参数并将其传递给管道作业。这是一个主从设置。这是我如何运行:
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
有没有我缺少什么?
我找到了解决方案,
1.)使用SSH CLI。
在我的情况下,我使用主从环境,使用SSH密钥进行连接,反之亦然。为了使用Jenkins CLI触发构建,请将SSH密钥公开为&私有并将它们放置在http://jenkinsURL/user/username/configure
此处username =用于连接节点的名称。
触发任务如下:
java -jar /home/username/jenkins-cli.jar -s $JENKINS_URL -i /home/username/.ssh/id_rsa build JOBNAME
注:这是一种方式,但CloudBees的不鼓励这种做法。
2.)有一种新的方法,即使用API令牌认证。
- 转到http://jenkinsURL/user/username/configure
- 复制API令牌
-
触发编译如下:
Java的罐子/home/username/jenkins-cli.jar -s $ JENKINS_URL -auth用户名:apitoken /home/username/.ssh/id_rsa建立JOBNAME
注:对于使用API托克n选项,下载最新的jar文件
这是一般的,不特定于管道。一般来说,如果用户管理设置不正确,那么您将无法使用Jenkins cli触发和工作 –
这事涉及到这个问题 - https://issues.jenkins-ci.org/browse/JENKINS-12543 但尚不清楚 –