【发布时间】:2012-04-21 10:22:21
【问题描述】:
我没有找到任何关于 jenkins-cli 工具的用户相关命令的参考。
我需要这个来自动化部署。
有回归吗?
【问题讨论】:
标签: deployment automation jenkins user-management
我没有找到任何关于 jenkins-cli 工具的用户相关命令的参考。
我需要这个来自动化部署。
有回归吗?
【问题讨论】:
标签: deployment automation jenkins user-management
要使用 jenkins 内部数据库,只需使用以下命令。
echo 'jenkins.model.Jenkins.instance.securityRealm.createAccount("user1", "password123")' | \
java -jar jenkins-cli.jar -s http://localhost:8080/ groovy =
这将创建 user=user1 和 password=password123
如果您有任何现有用户并且限制匿名访问您的 jenkins,您可以使用
指定用户名和密码--username "user_name" 和 --password "password"
【讨论】:
echo 'jenkins.model.Jenkins.instance.securityRealm.createAccount("newuser", "newpassword")' | sudo java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s "http://localhost:8080" -auth adminuser:adminpassword -noKeyAuth groovy =
也许您根本不想使用 Jenkins 的内部用户数据库。有许多“身份验证和用户管理”插件。
如果您喜欢 MySQL,则有一个 MySQL 身份验证器(它读取用户和密码表),并且您的“adduser”命令可以在该表上执行插入操作。
如果您喜欢平面文件,则有一个“脚本安全领域”,您可以在其中使用任意脚本进行身份验证。以您喜欢的格式编写一个包含用户和密码组合的文件,编写一个写入该文件的“adduser”脚本,并编写一个读取文件并确定是否对用户进行身份验证的身份验证脚本。
您还可以连接到 LDAP 服务器、Active Directory、Atlassian Crowd、Unix 用户帐户 (pw_auth) 或您的应用程序服务器使用的任何身份验证(例如,如果它在 Tomcat 服务器之外运行,您可以告诉 Jenkins让 Tomcat 对用户进行身份验证,并根据需要设置 Tomcat。
【讨论】:
如果您更详细地指定您想要做什么,这里的人可能会更好地帮助您。也就是说,这里有一些指针:
所有 CLI 命令都可以通过 http://[jenkins-server]/cli 获得。未找到的内容无法通过 CLI 获得。您可以通过 CLI 命令中的--username 和--password(或--password-file)选项指定用户名/密码。
Jenkins 自动化的另一个选择是使用Python JenkinsAPI。
您还可以使用 wget 和 curl 等工具来执行某些操作(例如 starting a build)。在那里,您可以使用特定于用户的令牌而不是用户名/密码。
Here's another link 很有帮助。
【讨论】: