使用备份插件从命令行触发Jenkins备份

Erw*_*lec 5 backup curl command-line-interface jenkins

问题

我网络上的备份策略意味着提供备份路径和之前运行的可选命令,以便我可以准备备份

我需要备份我的Jenkins配置.简单地给出Jenkins数据目录的路径不是一个选项:

  1. 我只需要备份配置
  2. 该目录的总磁盘使用量(~80GB)远远超出合理的备份大小(99%由非关键工作空间数据组成)

至今

我安装了Backup Plugin并找到了相当不错的设置.现在我想知道我是否可以使用bash脚本远程触发它.我明白curl在/ jenkins/backup/launchBackup网址上使用应该可以解决这个问题,但我收到了403 Forbidden错误,因为我作为匿名用户访问了URI,并且无法找到登录或获取的解决方案围绕这个.

那么有谁知道从命令行触发配置备份的简单方法?

Dav*_*her 9

Jenkins wiki描述了如何在脚本中执行经过身份验证的登录.简答:从用户页面转到配置屏幕并获取API令牌,然后在运行脚本时将其用作密码.

我没有尝试使用Backup插件,但它适用于运行常规构建,因此它适用于任何可编写脚本的调用.

没有身份验证

$ curl http://jenkins:8080/job/my%20job/build
[ HTML page saying "Authentication required" ]
Run Code Online (Sandbox Code Playgroud)

通过身份验证

$ curl --user dbacher:$MY_API_TOKEN http://jenkins:8080/job/my%20job/build
[ returns nothing and the build starts ]
Run Code Online (Sandbox Code Playgroud)

更新:修复了工作错误,感谢您的评论.