2012-04-08 102 views

回答

3

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

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

如果你喜欢平面文件,有一个“脚本安全领域”,你可以用任意脚本进行身份验证。用你喜欢的格式写一个包含用户名和密码组合的文件,编写一个写入它的“adduser”脚本,然后编写一个auth脚本来读取文件并确定是否对用户进行身份验证。您也可以连接到LDAP服务器,Active Directory,Atlassian Crowd,Unix用户帐户(pw_auth)或您的应用服务器使用的任何身份验证(例如,如果它运行在Tomcat服务器上,则可以告诉詹金斯让Tomcat用户进行身份验证,并设置好Tomcat来做到这一点,但是你想。

3

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

所有的CLI命令都可以通过http://[jenkins-server]/cli获得。没有发现什么没有通过CLI提供。您可以通过CLI命令中的--username--password(或--password-file)选项指定用户名/密码。

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

您也可以使用工具,如wget的卷曲执行某些操作(如starting a build)。您可以使用用户特定的令牌而不是用户名/密码。

Here's another link可能有帮助。

2

要使用詹金斯内部数据库只需使用下面的命令。

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

这将创建一个密码= password123用户= USER1


如果您有任何现有的用户,并仅限于您的詹金斯匿名访问,你可以指定

--username“USER_NAME”的用户名和密码,--password“密码”

+0

我可以”使它与--username和--password一起工作。 你可以留下一些例子吗? – Kostanos 2016-02-02 22:44:25

+2

echo'jenkins.model.Jenkins.instance.securityRealm.createAccount(“user1”,“password123”)'| java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s“http:// localhost:8080 /”-noKeyAuth groovy = --username admin --password xxx – hellomichibye 2016-08-16 07:46:51