5

问题

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

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

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

至今

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

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

4

2 回答 2

10

Jenkins wiki 描述了如何在脚本中执行经过身份验证的登录。简短回答:从用户页面转到配置屏幕并获取 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 ]

更新:修正了工作错字,感谢您的评论。

于 2012-11-16T18:05:55.770 回答
2

Dave Bacher 的回答对我不起作用。我需要做:

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

这是工作,而不是工作,最后我需要 ?build 。

于 2013-08-07T23:54:51.610 回答