我计划使用 Docker 将我们的 Travis CI 构建移动到 GitHub Actions 以进行我们的每次提交测试。
我可以在本地重复运行这些新的 GitHub Actions 工作流程吗?是否有在本地运行任何 GitHub Actions 工作流程的通用方法?
iir*_*ekm 72
有像已经提到的 工具act,但它们并不完美。您并不孤单。类似的问题有:
我对这些问题的解决方案是:
run: your command to runJor*_*ett 25
我假设您想要在本地运行该操作,因为它失败了,并且您想要调试它。如果是这样,另一种选择(不需要在本地运行)是使用action-tmate通过 SSH 连接到运行操作的计算机。从那里,您可以查看日志、运行命令等来找出问题所在。
开始:
- name: Setup tmate session
if: success() || failure()
uses: mxschmitt/action-tmate@v3
Run Code Online (Sandbox Code Playgroud)
将更改推送到 GitHub 并重新运行操作。
等待它再次失败 - 这次,不会停止工作流程,而是打开 tmate 会话,并且 SSH 详细信息将打印在工作流程控制台中。
从您自己的计算机通过 SSH 连接,现在您可以完全访问运行器计算机。
Web*_*ber 19
您可以使用自0.2.0(预发布)起支持 yaml 语法的nektos/act。
查看他们的最新版本。
Jub*_*air 10
你最好的选择是https://github.com/nektos/act但是(在 0.2.0 之前)它还不支持 yaml 语法,尽管有很多兴趣:https : //github.com/nektos /act/issues/80 https://github.com/nektos/act/issues/76和https://github.com/nektos/act/issues/74
Gitlab 有,gitlab-runner exec docker job-name但那是 Gitlab :)
测试 Github 操作的一种方法是创建一个私有存储库,并在那里迭代操作 conf。因此,您可以避免因提交损坏而污染实际存储库。
我知道,这不是问题的直接答案 - 这不是本地方式。但是一开始我并没有想到这一点,我认为这对于许多用例来说已经足够了。
小智 7
就我而言,即使 GitHub CI 通过,ACT 也会失败,所以我发现了这一点:
https://github.com/actions/runner
官方 github Action runner(可以自行托管)。按照自述文件中的说明进行操作。
它与 ACT 略有不同,但允许将 repo CI 与本地运行器配对(例如可以使用 cuda)
| 归档时间: |
|
| 查看次数: |
26203 次 |
| 最近记录: |