如何在没有web界面的情况下向Jenkins添加帐户?
我想自动化Jenkins的整个安装,给定一个用户名列表,我希望能够为每个用户名创建用户帐户。我读过的唯一设置用户帐户的方法是: 尝试查看是否有可在以下位置使用命令行配置的选项:如何在没有web界面的情况下向Jenkins添加帐户?,jenkins,continuous-integration,command-line-interface,Jenkins,Continuous Integration,Command Line Interface,我想自动化Jenkins的整个安装,给定一个用户名列表,我希望能够为每个用户名创建用户帐户。我读过的唯一设置用户帐户的方法是: 尝试查看是否有可在以下位置使用命令行配置的选项: https://localhost:8080/cli/ 但情况似乎并非如此 是否可以在不使用web界面的情况下添加用户帐户?更具体地说,是一种可编写脚本的方法 我最后的办法是处理原始post请求,但希望有更好的方法。当然可以,可以为jenkins编写配置脚本。但不能仅使用cli工具 我想您应该使用“Jenkins自有用
https://localhost:8080/cli/
但情况似乎并非如此
是否可以在不使用web界面的情况下添加用户帐户?更具体地说,是一种可编写脚本的方法
我最后的办法是处理原始post请求,但希望有更好的方法。当然可以,可以为jenkins编写配置脚本。但不能仅使用cli工具 我想您应该使用“Jenkins自有用户数据库”和Project Matrix授权策略 准备资源调配的步骤:
cd/tmp;wget-nvhttp://localhost:8080/jnlpJars/jenkins-cli.jar
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
...
<permission>hudson.model.View.Create:username1</permission>
<permission>hudson.model.View.Delete:username1</permission>
<permission>hudson.model.View.Read:username1</permission>
...
<permission>hudson.model.View.Create:username2</permission>
<permission>hudson.model.View.Delete:username2</permission>
<permission>hudson.model.View.Read:username2</permission>
...
</authorizationStrategy>
...
hudson.model.View.Create:username1
hudson.model.View.Delete:username1
hudson.model.View.Read:username1
...
hudson.model.View.Create:username2
hudson.model.View.Delete:username2
hudson.model.View.Read:username2
...
资源调配步骤:
cp$SEED\u DATA/config.xml$JENKINS\u HOME/
cp-R$SEED\u DATA/users/$JENKINS\u HOME/
chown-R“jenkins:jenkins”$jenkins\u HOME/users/
(可能是可选的)cd/tmp;java-jar-jenkins-cli.jar-shttp://localhost:8080/ 重新加载配置
如果您有LDAP或AD,则不需要单独添加帐户,并且可以通过LDAP管理的用户组来控制权限/AD@Slav,您将如何以编程方式设置此配置?您是否知道任何可以预先配置并直接放入安装的配置文件?所有Jenkins配置(和插件)都是XML文件,因此您可以使用脚本语言以编程方式更改它们(某些更改在重新启动/重新加载之前不会生效)。在
$JENKINS_HOME
下有一个config.xml
作为主要配置,包括安全性/身份验证。看一看。对于重新加载,jenkins cli有一个重新加载命令。
"<fullName>PLACEHOLDER_FULLNAME</fullName>"
cp $SEED_DATA/templates/user/config.xml /tmp/config.xml
sed -e "s/\${PLACEHOLDER_USERNAME}/1/" -e "s/\${ChuckNorris}/dog/" /tmp/config.xml
sed -e "s/\${PLACEHOLDER_EMAIL}/1/" -e "s/\${he@findsyou.com}/dog/" /tmp/config.xml
...
mkdir -p $SEED_DATA/users/$USERNAME/
cp /tmp/config.xml $SEED_DATA/users/$USERNAME/config.xml
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
...
<permission>hudson.model.View.Create:username1</permission>
<permission>hudson.model.View.Delete:username1</permission>
<permission>hudson.model.View.Read:username1</permission>
...
<permission>hudson.model.View.Create:username2</permission>
<permission>hudson.model.View.Delete:username2</permission>
<permission>hudson.model.View.Read:username2</permission>
...
</authorizationStrategy>