在Ubuntu中,如何使用CLI进行身份验证以远程触发Jenkins作业?

170次阅读
没有评论

问题描述

想要在Ubuntu中使用CLI远程触发Jenkins作业。他了解到可以使用curl命令和以下URL语法来实现:
/job//build?token=
例如:

$ curl http://localhost:8080/job/MyJob/build?token=my-token

然而,当他运行该命令时,收到以下错误信息:

Authentication required<!----></body></html>

他想知道身份验证是通过CLI还是Jenkins Web界面进行的,并且如何进行身份验证。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据Jenkins的文档,如果你通过HTTP触发构建,你需要生成一个身份验证令牌,并将其与HTTP基本身份验证一起使用。具体步骤如下:
1. 在Jenkins中,登录到你的用户账户。
2. 在用户配置页面中,找到”API Token”部分。
3. 点击”Add new Token”按钮,为你的CLI生成一个新的令牌。
4. 将生成的令牌保存在安全的地方,因为它只会在创建时显示一次。
5. 使用curl命令触发构建,并在命令中使用生成的令牌进行身份验证。示例命令如下:

$ curl -X POST -L --user your-user-name:apiToken https://jenkins.example.com/job/your_job/build

请将以下参数替换为实际值:
your-user-name:你的Jenkins用户名
apiToken:你在步骤3中生成的API令牌
https://jenkins.example.com/job/your_job/build:你的Jenkins作业的URL

方案2

如果你使用的是Jenkins的旧版本,可能需要使用不同的命令或方法进行身份验证。请参考Jenkins的文档或相关资源,以获取适用于你的版本的准确信息。
根据Jenkins的文档,如果你使用的是旧版本的Jenkins,可能需要使用不同的命令或方法进行身份验证。请参考Jenkins的文档或相关资源,以获取适用于你的版本的准确信息。
请注意,为了安全起见,建议定期更改API令牌,并将其保存在安全的地方。

正文完