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

时间:2012-11-16 14:11:04

标签: curl jenkins backup command-line-interface

问题

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

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

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

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

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

2 个答案:

答案 0 :(得分:9)

Jenkins wiki描述了如何perform an authenticated login in scripts。简答:从用户页面转到配置屏幕并获取API令牌,然后在运行脚本时将其用作密码。

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

没有身份验证:

$ curl http://jenkins:8080/job/my%20job/build
[ HTML page saying "Authentication required" ]

使用身份验证:

$ curl --user dbacher:$MY_API_TOKEN http://jenkins:8080/job/my%20job/build
[ returns nothing and the build starts ]

更新:修复作业错误,感谢您的评论。

答案 1 :(得分:2)

戴夫巴克尔的回答对我不起作用。我需要这样做:

$ curl http://jenkins:8080/job/MY_JOB_NAME/build?build

这是工作,而不是工作,我最终需要构建。