1

在 Jenkinsfile 中运行阶段时,我希望能够更改报告回 Github 的 URL。默认情况下,它似乎是 Jenkins 中构建的 URL,但我想在该 URL 上附加一些内容,例如/aSpecificReport.html.

我可以使用 githubNotfiy 插件来做到这一点:

githubNotify context: 'Lint',
             status: 'FAILURE',
             description: 'ESLint found errors',
             targetUrl: env.BUILD_URL + '/aSpecificReport.html'

但是有没有办法在不使用 githubNotifiy 插件的情况下针对特定步骤执行此操作?

作为参考,这是我所指的“状态检查链接”:

这是

4

1 回答 1

0

我对同样的效果很感兴趣,而且在管道运行之前阶段 id 似乎是不可预测的(https://stackoverflow.com/a/33402876/6943587),因为我假设它们取决于阶段配置,阶段计数、并行化、嵌套等。但是,我注意到阶段的 id 在相同或几乎相同的管道运行之间是一致的。

例如,如果您创建一个触发管道运行的 PR (#22)。然后稍后您将新提交推送到该分支,触发另一个管道运行。这两个运行之间的阶段 id 将是相同的,前提是它们具有相似的(如果不相同的话)管道流(即它们都触发/跳过了相同的阶段)。那么每个阶段的网址之间的唯一区别就是BUILD_ID.

因此,两个 s 的第一阶段和第二阶段的 urlBUILD_ID将是......

BUILD_ID= 1

# Stage 1
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/1/pipeline/15`

# Stage 2
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/1/pipeline/45

BUILD_ID= 2

# Stage 1
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/2/pipeline/15`

# Stage 2
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/2/pipeline/45

当然,这并不理想,因为它需要验证和更新阶段 id 以对管道进行重大更改,并且不适合高度可变的管道流。但它对我有用,所以我想我会分享。

于 2018-09-24T22:13:18.687 回答