[英]How to reload the configuration Jenkins from the command line?
我通过系统配置管理(ansible)安装并配置了Jenkins。 通过ansible创建作业,安装模块并配置它们。 安装和配置模块授权crowd2后,通过http://localhost/jenkins/reload重新加载配置不起作用,需要授权。 要生成授权令牌,您必须先登录,但这是不可取的。 我可以拥有 root 访问权限来重新加载配置吗?
PS对不起我的英语:)
java -jar jenkins-cli.jar -noCertificateCheck -s https://jenkins.example.com:8443/jenkins/ reload-configuration
一种简单的解决方法是使用 Ansible 重新启动 Tomcat 或 Jenkins 服务(取决于 Jenkins 的托管方式)。
使用此解决方案,将重新加载配置。
如果 Ansible 用于创建 Jenkins 的全新安装,则没有人会使用 Jenkins。 因此,重新启动服务可能是一个可以接受的解决方案;)
您可以将Jenkins CLI与reload
命令结合使用。 例如:
java -jar jenkins-cli.jar -s https://jenkins.example.com/ reload
或者,您可以首先使用create-job
创建作业,从而无需重新加载配置。
CLI 允许您使用 SSH 密钥进行身份验证,因此它可能更适合从 Ansible 运行。
您可以生成面包屑:
curl -u 'admin:password' -X GET http://localhost:8090/crumbIssuer/api/json | jq
响应如下:
{
"_class": "hudson.security.csrf.DefaultCrumbIssuer",
"crumb": "1348b504383211402ce562e0b46b3691",
"crumbRequestField": "Jenkins-Crumb"
}
然后获取crumb
字段值并在重新加载调用中使用它:
curl -u 'admin:password' -X POST http://localhost:8090/reload -H 'Jenkins-Crumb: 1348b504383211402ce562e0b46b3691'
试试这个: java -jar jenkins-cli.jar -s [JENKINS_URL[ -auth [USER:PASSWORD] reload-configuration
转到配置-> 从磁盘重新加载配置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.