2017-07-14 61 views
0

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 

有没有我缺少什么?

+0

这事涉及到这个问题 - https://issues.jenkins-ci.org/browse/JENKINS-12543 但尚不清楚 –

回答

0

我找到了解决方案,

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文件

+0

这是一般的,不特定于管道。一般来说,如果用户管理设置不正确,那么您将无法使用Jenkins cli触发和工作 –

相关问题