Jenkins 管道作业被触发为匿名而不是 user/Admin
Jenkins pipeline job gets triggered as anonymous but not as an user/Admin
Jenkins 管道作业不会使用 jenkins cli 触发管道作业。当我 运行 jenkins 作为匿名时这有效,但是当我创建 user/admin 它失败了。
我有一个作业 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.) 另一种选择是将 public 密钥粘贴到 SSH 部分 http://jenkin_url/me/configure 中,但仍然失败
错误:
java.io.IOException: Invalid PEM structure, '-----BEGIN...' missing
我有什么遗漏吗?
我找到了解决方案,
1.) 使用 SSH CLI。
在我的例子中,我使用的是主从环境,连接是使用 SSH 密钥建立的,反之亦然。为了使用 Jenkins CLI 触发构建,将 SSH 密钥都放在 public 和 private 中,并将它们放在 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 令牌身份验证。
- 转到http://jenkinsURL/user/username/configure
- 复制 API 令牌
触发构建如下:
java -jar /home/username/jenkins-cli.jar -s $JENKINS_URL -auth username:apitoken /home/username/.ssh/id_rsa build JOBNAME
注意:要使用API令牌选项,请下载最新的jar文件
Jenkins 管道作业不会使用 jenkins cli 触发管道作业。当我 运行 jenkins 作为匿名时这有效,但是当我创建 user/admin 它失败了。
我有一个作业 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.) 另一种选择是将 public 密钥粘贴到 SSH 部分 http://jenkin_url/me/configure 中,但仍然失败
错误:
java.io.IOException: Invalid PEM structure, '-----BEGIN...' missing
我有什么遗漏吗?
我找到了解决方案,
1.) 使用 SSH CLI。
在我的例子中,我使用的是主从环境,连接是使用 SSH 密钥建立的,反之亦然。为了使用 Jenkins CLI 触发构建,将 SSH 密钥都放在 public 和 private 中,并将它们放在 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 令牌身份验证。
- 转到http://jenkinsURL/user/username/configure
- 复制 API 令牌
触发构建如下:
java -jar /home/username/jenkins-cli.jar -s $JENKINS_URL -auth username:apitoken /home/username/.ssh/id_rsa build JOBNAME
注意:要使用API令牌选项,请下载最新的jar文件