8

我没有找到任何对 jenkins-cli 工具的用户相关命令的引用。

我需要这个来自动化部署。

有没有卷土重来?

4

3 回答 3

6

要使用 jenkins 内部数据库,只需使用以下命令。

echo 'jenkins.model.Jenkins.instance.securityRealm.createAccount("user1", "password123")' | \
   java -jar jenkins-cli.jar -s http://localhost:8080/ groovy =

这将创建 user=user1 和 password=password123


如果您有任何现有用户并且限制匿名访问您的詹金斯,您可以指定用户名和密码

--username "user_name" 和 --password "password"

于 2015-10-05T10:22:30.803 回答
3

如果您更详细地指定您要做什么,这里的人可能会更好地帮助您。也就是说,这里有一些指针:

所有 CLI 命令都可以通过http://[jenkins-server]/cli. 未找到的内容无法通过 CLI 获得。您可以通过CLI 命令中的--username--password(或)选项指定用户名/密码。--password-file

Jenkins 自动化的另一个选择是使用Python JenkinsAPI

您还可以使用wgetcurl等工具来执行某些操作(例如开始构建)。在那里,您可以使用特定于用户的令牌而不是用户名/密码。

这是另一个可能有用的链接。

于 2012-04-09T16:30:20.080 回答
3

也许你根本不想使用 Jenkins 的内部用户数据库。有许多“身份验证和用户管理”插件。

如果您喜欢 MySQL,那么有一个 MySQL 身份验证器(它读取用户和密码表),并且您的“adduser”命令可以在该表上执行插入操作。

如果您喜欢平面文件,则有一个“脚本安全领域”,您可以在其中使用任意脚本进行身份验证。以您喜欢的格式编写一个包含用户和密码组合的文件,编写一个写入该文件的“adduser”脚本,并编写一个读取文件并确定是否对用户进行身份验证的身份验证脚本。

您还可以连接到 LDAP 服务器、Active Directory、Atlassian Crowd、Unix 用户帐户 (pw_auth) 或您的应用程序服务器使用的任何身份验证(例如,如果它在 Tomcat 服务器之外运行,您可以告诉 Jenkins 让 Tomcat对用户进行身份验证,并设置 Tomcat 以按照您的意愿进行操作。

于 2012-04-09T17:21:21.537 回答