【问题标题】:Concourse: Trigger a job with a HTTP requestConcourse:使用 HTTP 请求触发作业
【发布时间】:2018-05-09 13:40:47
【问题描述】:

我正在尝试使用我的 Git 服务器上的网络挂钩来触发 Concourse 作业。在此issue on Github 之后,我找到了endpoint definition。所以我尝试了

curl http://10.20.30.101:8080/api/v1/pipelines/helloworld/resources/resource-tutorial/check -X POST

其中helloworld 是我的管道名称,resource-tutorial 是我要触发检查的资源名称。

但是Concourse返回

404 page not found

我做错了什么?有人能指出我正确的端点吗?

【问题讨论】:

标签: git continuous-integration concourse


【解决方案1】:

现在有资源的网络钩子令牌: https://concourse-ci.org/configuring-resources.html#webhook_token

/api/v1/teams/TEAM_NAME/pipelines/PIPELINE_NAME/resources/RESOURCE_NAME/check/webhook?webhook_token=WEBHOOK_TOKEN

您可以在此处添加网络挂钩: https://github.com/<username>/<repo>/settings/hooks/new

【讨论】:

    【解决方案2】:

    经过一番调查并在非常支持的concourse slack channel 的帮助下,我想出了以下解决方案(它不允许通过 HTTP GET 请求触发作业,但这是一个好的开始)。

    首先以described in the documentation 创建一个新团队(使用基本身份验证解决方案):

    fly set-team -n my-team \
      --basic-auth-username ci \
      --basic-auth-password changeme
    

    现在生成一个身份验证令牌:

    curl -u foo:bar http://<CONCOURSE HOSTNAME>:<CONCOURSE PORT>/api/v1/teams/my-team/auth/token
    
    {"type":"Bearer","value":"... VERY LONG TOKEN..."}
    

    您现在可以使用 VERY LONG TOKEN 作为 cookie 来触发构建:

    curl -v --cookie "ATC-Authorization=Bearer VERY LONG TOKEN" \
      http://<CONCOURSE HOSTNAME>:<CONCOURSE PORT>/api/v1/teams/my-team/pipelines/<PIPELINE NAME>/jobs/<JOB NAME>/builds -X POST
    

    现在正在触发作业。

    【讨论】:

    • 这对你有用吗?我无法发送发布请求来触发管道。这是我的代码
    • 导入请求 cookie = {'ATC-Authorization': 'Bearer eyJhbG3hVo1KXsg2Ce6-xlew'} r = requests.post('192.168.100.4:8080/api/v1/teams/main/pipelines/mm/jobs/…' , cookies=cookie) dir(r) print r.text
    • 4.0.0 似乎附带了一个新的登录系统。对我有用的是curl -v 'http://localhost:8080/api/v1/teams/main/builds' -H 'Authorization: Bearer VERY LONG TOKEN,其令牌是从 ~/.flyrc 中提取的(之前通过 fly 登录过)。
    猜你喜欢
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2019-10-21
    • 1970-01-01
    相关资源
    最近更新 更多