Curl 使用备份插件从命令行触发Jenkins备份 问题
我的网络上的备份策略意味着提供一个备份路径和一个可选命令,以便我可以准备备份 我需要备份我的Jenkins配置。简单地给出Jenkins数据目录的路径不是一个选项,因为:Curl 使用备份插件从命令行触发Jenkins备份 问题,curl,jenkins,backup,command-line-interface,Curl,Jenkins,Backup,Command Line Interface,我的网络上的备份策略意味着提供一个备份路径和一个可选命令,以便我可以准备备份 我需要备份我的Jenkins配置。简单地给出Jenkins数据目录的路径不是一个选项,因为: 我只需要备份配置 该目录的总磁盘使用量约为80GB,远远超出了合理的备份大小(99%由非关键工作区数据组成) 目前为止 我安装了,并找到了相当好的设置。现在我想知道是否可以使用bash脚本远程触发它。我知道在/jenkins/backup/launchBackup url上使用curl应该可以做到这一点,但是我得到了一个403
curl
应该可以做到这一点,但是我得到了一个403禁止的错误,因为我以匿名用户的身份访问URI,无法找到登录或绕过此问题的解决方案
那么,有人知道从命令行触发仅配置备份的简单方法吗?Jenkins wiki介绍了如何。简短回答:从用户页面转到配置屏幕,获取API令牌,然后在运行脚本时将其用作密码 我还没有尝试过使用备份插件,但它适用于运行常规构建,因此它应该适用于任何可编写脚本的调用 未经认证:
$ 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 ]
通过身份验证:
$ 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 ]
更新:修复了作业的打字错误,感谢您的评论 戴夫·巴赫的回答对我不起作用。我需要做:
$ curl http://jenkins:8080/job/MY_JOB_NAME/build?build
这是工作,而不是工作,我需要在最后构建。我使用的是Jenkins ver。它是
/job/
,而不是/jobs/
。除此之外,它工作得完美无缺。问题主要集中在身份验证上。无论如何,这是一个有用的修正。