您如何使用私有存储库中存在的复合操作?
How do you use a composite action that exists in a private repository?
我们对第三方服务进行了大量的健康检查。我们希望他们定期 运行 因为当他们崩溃时,它会影响我们的应用程序,就像我们代码中的错误一样。知道“是他们而不是我们”可以显着减少故障排除时间。
我们已通过 github 操作和预定 运行 设置此健康检查,但我们希望每个第三方服务都有一个健康检查。这样,失败时的松弛消息将非常具体地说明发生了什么。但这将创建大量重复的 yml 内容。
我发现了一个叫做 github composite actions 的东西,它似乎是为了解决这个问题,但我找不到关于复合动作是否可以存在于私有存储库中的信息。
The documentation of the uses
key 在提到存储库时只提到 public 个存储库。有没有办法在私有仓库中做一个复合动作并使用它?
我尝试制作他们的 hello world 示例,运行 它,并且 运行 正确。然后我将动作回购设为私有,使用动作构建的回购失败说:
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 enterprise”意味着它只适用于 GitHub Enterprise 用户。
我们对第三方服务进行了大量的健康检查。我们希望他们定期 运行 因为当他们崩溃时,它会影响我们的应用程序,就像我们代码中的错误一样。知道“是他们而不是我们”可以显着减少故障排除时间。
我们已通过 github 操作和预定 运行 设置此健康检查,但我们希望每个第三方服务都有一个健康检查。这样,失败时的松弛消息将非常具体地说明发生了什么。但这将创建大量重复的 yml 内容。
我发现了一个叫做 github composite actions 的东西,它似乎是为了解决这个问题,但我找不到关于复合动作是否可以存在于私有存储库中的信息。
The documentation of the uses
key 在提到存储库时只提到 public 个存储库。有没有办法在私有仓库中做一个复合动作并使用它?
我尝试制作他们的 hello world 示例,运行 它,并且 运行 正确。然后我将动作回购设为私有,使用动作构建的回购失败说:
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 enterprise”意味着它只适用于 GitHub Enterprise 用户。