繁体   English   中英

如何从命令行重新加载配置 Jenkins?

[英]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 CLIreload命令结合使用。 例如:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM