如何使用私有存储库中存在的复合操作? [英] How do you use a composite action that exists in a private repository?
本文介绍了如何使用私有存储库中存在的复合操作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们针对第三方服务进行了一系列健康检查。我们希望它们定期运行,因为当它们崩溃时,它会像代码中的错误一样影响我们的应用程序。了解&是他们而不是我们&可以减少大量的故障排除时间。
我们已通过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屋!
查看全文