来自单个Azure管道Yaml的多个(github)PR检查

时间:2019-08-02 15:49:32

标签: azure-devops azure-pipelines

也许我缺少明显的东西,但是...

我可以从单个azure管道yaml中进行多个(github)PR检查吗?

例如,在此屏幕截图中,我已将CI连接到天蓝色的管道,在同一检查中进行了构建和运行测试:

Github PR checks

我可以以某种方式将它们分开,以便进行两次检查: Build 运行测试,并分别查看它们通过或失败吗?

1 个答案:

答案 0 :(得分:1)

  

如果有可能在一个Yaml中进行N次检查并进行   状态分别发布

对于此问题,答案是肯定的,您可以使用脚本方法来实现。

这里是issue,涉及多个GitHub检查,在本期中,有人遇到了与您相同的问题,并且找到了解决方案,并且给出了确切的配置。

例如,由于构建环境是一个shell,因此您可以将lint命令包装在一个shell脚本中,该脚本捕获退出代码并将状态发送到GitHub:

#!/bin/sh

npm run lint
EXIT_CODE=$?

if [[ $EXIT_CODE == 0 ]]
then
  export STATUS="success"
else
  export STATUS="failure"
fi

GITHUB_TOKEN=<your api token>

curl "https://api.github.com/repos/$CI_REPO/statuses/$CI_COMMIT?access_token=$GITHUB_TOKEN" \
  -H "Content-Type: application/json" \
  -X POST \
  -d "{\"state\": \"$STATUS\", \"description\": \"eslint\", \"target_url\": \"$CI_BUILD_URL\"}"

exit $EXIT_CODE