如何使用私有存储库中存在的复合操作? [英] How do you use a composite action that exists in a private repository?

查看:17
本文介绍了如何使用私有存储库中存在的复合操作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们针对第三方服务进行了一系列健康检查。我们希望它们定期运行,因为当它们崩溃时,它会像代码中的错误一样影响我们的应用程序。了解&是他们而不是我们&可以减少大量的故障排除时间。

我们已通过GitHub Actions设置了此运行状况检查,并计划运行,但我们希望每个第三方服务都有运行状况检查。这样,关于失败的松懈信息将非常具体地说明什么是失败的。但这将创建大量重复的YML内容。

我发现了一个名为github composite actions的东西,它似乎旨在解决此问题,但我找不到有关复合操作是否可以驻留在私有存储库中的信息。

The documentation of the uses key只在提到存储库时才提到公共存储库。有没有办法在专用存储库中创建复合操作并使用它?

我尝试制作他们的Hello World示例,运行它,它运行正确。然后我将操作repo设为私有,而使用该操作的构建的repo失败了,声明如下:

Unable to resolve action `user/repo@v1`, repository not found

推荐答案

您必须首先使用个人访问令牌签出包含操作的存储库,然后使用签出位置的相对路径:

- name: Check out main repository
  uses: actions/checkout@v2

- name: Get composite run steps repository
  uses: actions/checkout@v2
  with:
    repository: myorg/myaction
    # Select revision
    ref: v1.0.0
    # Personal access token to check out private repository
    token: ${{ secrets.PAT_TOKEN }}
    # Indicate where to check action out to
    path: .github/myaction

- name: Run action from private repo
  uses: ./.github/myaction
假设myaction是根目录中包含action.yml的存储库。如果不是这样,则必须调整最后uses步骤以使用正确的路径。

请注意,如果您使用dependabot to update your actions,则不会更新私有操作引用。

在未来的某个时候,将本地支持来自内部存储库的操作,请参阅GitHub路线图中的this issue,但自2021年10月起,该问题已更新为GitHub企业&标志,这意味着它将仅供GitHub企业用户使用。

这篇关于如何使用私有存储库中存在的复合操作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆