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

时间:2016-01-14 14:02:44

标签: linux jenkins ansible

我通过系统配置管理(ansible)安装并配置了Jenkins。通过ansible创建作业,安装模块并配置它们。安装和配置模块授权crowd2后,通过http://localhost/jenkins/reload重新加载配置不起作用,作为必需的授权。要生成授权令牌,您必须先登录,但这不是必需的。我可以使用root权限重新加载配置吗?

P.S。对不起我的英文:)

6 个答案:

答案 0 :(得分:2)

java -jar jenkins-cli.jar -noCertificateCheck -s https://jenkins.example.com:8443/jenkins/ reload-configuration

答案 1 :(得分:0)

一个简单的解决方法是使用Ansible重新启动Tomcat或Jenkins服务(取决于Jenkins的托管方式)。

使用此解决方案,将重新加载配置。

如果使用Ansible创建Jenkins的全新安装,则没有人会使用Jenkins。因此,重新启动服务可能是一种可接受的解决方案;)

答案 2 :(得分:0)

您可以将Jenkins CLIreload命令一起使用。例如:

java -jar jenkins-cli.jar -s https://jenkins.example.com/ reload

或者您可以首先使用create-job创建作业,无需重新加载配置。

CLI允许您使用SSH密钥进行身份验证,因此可能更适合从Ansible运行。

答案 3 :(得分:0)

您可以生成面包屑:

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'

答案 4 :(得分:-1)

转到配置 - >从磁盘重新加载配置

答案 5 :(得分:-1)

尝试一下: java -jar jenkins-cli.jar -s [JENKINS_URL [-auth [USER:PASSWORD]重新加载配置