Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins管道作业以匿名方式触发,但不是以用户/管理员的身份触发_Jenkins_Jenkins Plugins_Jenkins Pipeline_Jenkins Cli - Fatal编程技术网

Jenkins管道作业以匿名方式触发,但不是以用户/管理员的身份触发

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

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_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_URL -i /home/username/.ssh/id_rsa build JOBNAME
    
    java-jar/home/username/jenkins-cli.jar-s$jenkins\u URL-auth username:apitonk/home/username/.ssh/id\u rsa build JOBNAME


注意:要使用API令牌选项,请下载最新的jar文件

这与此问题有关,但不清楚这是一般性的,不是特定于管道的。通常,如果未正确设置用户管理,则无法使用Jenkins cli触发和执行作业