• jenkins5使用http请求远程构建Job 广深


    前言:平时都是登录jenkins进行构建Job,但我不不想或其它集成的时候用到,所以弄了个远程触发Job构建,是挺不错的。

    当前也有Python 等语言的sdk,亦可直接使用。

    场景:

    1. 想开放Job让别人构建,但又不想给别人登录jenkins,触发同步数据或其它Job。
    2. 结合python自动化写点代码丰富一下,实现构建自由(反正实现不了财务自由)。
    3. 等等

    一、jenkins 全局安全设置

    1.Configure Global Security-CSRF Protection 勾选兼容 (全局安全设置)

    解释:一些 HTTP 代理过滤掉默认 crumb issuer 用于计算 nonce 值的信息。

    如果 HTTP 代理位于您的浏览器客户端和 Jenkins 服务器之间,并且您在向 Jenkins 提交表单时收到 403 响应,则选中此选项可能会有所帮助。使用此选项使 nonce 值更容易伪造。

     出现 403 的时候不妨看看是不是没勾选?

    2.API token生成 

    说明:用来远程调用的认证合法,否则需要密码。推荐使用api token来远程调用构建。

    API 令牌提供了一种进行经过身份验证的 CLI 或 REST API 调用的方法。有关更多详细信息,请参阅我们的 wiki
    与每个令牌关联的用户名是您的 Jenkins 用户名。

    保持 API 令牌安全的一些良好做法是:

    • 为每个应用程序使用不同的令牌,以便在应用程序受到威胁时,您可以单独撤销其令牌。
    • 每 6 个月重新生成一次令牌(取决于您的上下文)。我们显示一个关于代币年龄的指标。
    • 像保护您的密码一样保护它,因为它允许其他人像您一样访问 Jenkins。
    每次 Jenkins 重新启动时,未使用的遗留令牌的创建日期都会重置,这意味着日期可能不准确。

    二、远程构建

    1.复制job的url,如下图编辑job中能看到示例,但不用保存。

    JENKINS_URL/job/TestJob/build?token=TOKEN_NAME or /buildWithParameters?token=TOKEN_NAME
    Optionally append &cause=Cause+Text to provide text that will be included in the recorded build cause.

     2.postman选择 Auth

    输入账号和密码即可,请求响应码为201正常。

    3.也可以使用curl请求,-u 账号:apiToken

    curl -I -X POST \
      http://域名:端口/job/TestJob/build -u test:11b112d9cf514da3ce8f4d38928d79b592

    test:为用户名   

    11b112d9cf514da3ce8f4d38928d79b592:为apiToken

    便可以看到jenkins在构建

  • 相关阅读:
    如何保证 Redis 缓存与数据库双写一致性?
    如何合理地估算线程池大小?
    不用装工具,一条 Linux 命令就能实现文件上传下载!
    看了 Google 大神 Jeff Dean 的传说,我拜服了~
    div设置水平垂直居中
    "起用"与"启用"
    徇私舞弊
    精选排比金句20例
    一笔画图推
    一笔画
  • 原文地址:https://www.cnblogs.com/gsxl/p/15982770.html
Copyright © 2020-2023  润新知