【发布时间】:2021-05-12 10:18:23
【问题描述】:
创建 Github Action 的最佳实践是什么?
似乎大致有三种方法
一个 repo = 一个 Action
从 these examples 我清楚地得出 1 个操作 = 1 个 repo。
action-repo
action.yml
...
有用法:
uses: org/action-repo@tag
带有嵌套动作的“正常”回购
Some 倾向于像这样将操作添加到他们的仓库中:
repo
github-action
action.yml
...
可能还有不止一个动作。这已经提供了更长的导入,例如:
uses: org/repo/github-action@tag
具有嵌套/隐藏操作的“普通”回购
这是我见过的最特殊的情况:
repo
.github
actions
action1
action.yml
...
action2
action.yml
...
这种设置导致在使用动作时出现一些奇怪的导入,例如
uses: org/repo/.github/actions/action1@tag
有人看过这方面的官方文档吗?
【问题讨论】:
-
我见过大约三种模式:单独的 repo 仅用于操作(如在
actionsorg 中); repos 有多个动作,使用时必须指定整个路径,版本控制很尴尬; repo 主要用于工具,但兼作操作(如github.com/mikefarah/yq)。您的示例是第二种情况的特例,但是当它应该在其他地方使用时将操作隐藏到.github中似乎很奇怪。不过,我觉得它在一天结束时是基于意见的。 -
我明白了,有道理。我将更新我的问题以包含您的意见。一个问题仍然存在,“最佳实践”(除了意见)在哪里?因为正如你所说,例如关于版本控制,你显然有一个缺点。
标签: github-actions