在 CircleCI 工作流或作业之后触发 Github Action
Posted
技术标签:
【中文标题】在 CircleCI 工作流或作业之后触发 Github Action【英文标题】:Trigger Github Action after CircleCI workflow or job 【发布时间】:2021-07-23 13:55:30 【问题描述】:我想设置 github 操作以便对 docker 映像执行安全扫描。但是,我要扫描的图像的构建和推送是由 CircleCI 完成的。因此,在执行安全扫描之前,我需要确保图像已正确构建并推送到我的存储库中。
我知道存在触发 CircleCI 作业的操作,但有什么方法可以触发我从 Circle CI 执行 Github 操作?
感谢您提供的答案或任何解决方法:)
【问题讨论】:
【参考方案1】:您可以使用 CircleCI 管道中的 repository dispatch event 来启动存储库工作流程(通过 CURL 或通过脚本)。
在这种情况下,您的 Github 存储库工作流文件将需要一个 repository_dispatch 事件来触发它,以执行您的安全扫描作业。
调度请求示例
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/<USERNAME>/<REPOSITORY-NAME>/dispatches \
-d '"event_type":"event_type"'
工作流触发器示例
on: [repository_dispatch]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- name: security scan
run:|
...
【讨论】:
不知道这个 Github 功能。似乎回答了我的问题,我将尝试实现它,看看它是否正确运行。我曾想过通过在 animage 上安装 Github 客户端并在我的工作中使用它来触发操作来实现类似的解决方案,但您的解决方案似乎更快。谢谢你的回答:) 您甚至可以使用它来触发不同 Github 存储库之间的工作流。有任何问题欢迎随时联系我?以上是关于在 CircleCI 工作流或作业之后触发 Github Action的主要内容,如果未能解决你的问题,请参考以下文章
如何在 circleci 作业中执行“docker run”命令