【问题标题】:Triggering a Jenkins backup from the command line with the Backup plugin使用 Backup 插件从命令行触发 Jenkins 备份
【发布时间】:2014-01-28 01:46:26
【问题描述】:

问题

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

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

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

到目前为止

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

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

【问题讨论】:

    标签: curl jenkins backup command-line-interface


    【解决方案1】:

    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 ]
    

    更新:修正了 jobs 错字,感谢 cmets。

    【讨论】:

    • 我正在使用 Jenkins 版本。 1.517,它是/job/,而不是/jobs/。除此之外,工作完美无缺。
    【解决方案2】:

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

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

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

    【讨论】:

    • 问题主要集中在身份验证上。无论如何有用的修正。
    猜你喜欢
    • 1970-01-01
    • 2016-04-18
    • 2021-04-29
    • 2011-02-13
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    相关资源
    最近更新 更多