

本文最初发布于 BetterProgramming 博客,经原作者授权由 InfoQ 中文站翻译并分享。
如果你将代码托管在 GitHub 上,那么你可以充分利用GitHub Actions。借助 GitHub Actions,你可以完成代码测试和检查,无需手动运行这些任务。如果你不很清楚 GitHub Actions 是什么以及如何使用它们,我建议你先看看阮一峰的GitHub Actions 入门教程。
1. 利用 GitHub Actions 审计网页
这一操作集成了谷歌提供的实用网页审计工具Lighthouse,可以检测性能、可访问性、最佳实践、搜索引擎优化和渐进式 Web 应用程序。

Github Lighthouse Action
目前,该操作会打印出 5 个分数(满分 100),并上传 HTML 和 JSON 版本的报告。
在下一个版本中,该操作将允许你指定每项测试的阈值,如果不满足条件,可以有选择性地停止这个步骤。

Lighthouse 审计报告示例
用法
下面的工作流在jarv.is上运行一个 Lighthouse 审计,该步骤会在输出中显示 5 个分数,并上传结果 .html
和 .json
的版本,以供下载(如上所示)。
workflow.yml
文件:
Lighthouse 在你构建渐进式Web应用时特别有用。该项目的灵感来自GoogleChromeLabs/lighthousebot。
2. 利用 GitHub Actions 运行 SSH 命令
该操作将通过 SSH 在你的 $HOST 上将提供的参数作为命令运行。如果你想在每次提交或推送之后在自己的私有服务器上运行命令,那么它会非常有用。

SSH GitHub Action
用法
要使用这个操作,只需要在.github/main.workflow
文件中添加以下几行:
所需的参数
你所使用的参数就是你要通过 SSH 在你的服务器上运行的命令。
示例
args = "/opt/deploy/run"
args = "touch ~/.reload"
所需的私密信息
要使用这项操作,你需要提供以下私密信息:
PRIVATE_KEY
:SSH 私钥;HOST
:该操作将通过 SSH 连接并运行命令的主机,如your.site.com
;USER
: SSH 命令将其和私钥一起用于身份验证的用户。
要了解更多细节,请查看GitHub库。
3. 利用 GitHub Actions 检测密钥泄漏
将gitleaks作为一个 GitHub Action,用于审计 Git 提交中的秘密。如果你使用.env
文件,该操作会在你无意中发布了私密信息时通知你。

Gitleaks-action
用法
要了解更多信息,请移步zricethezav/gitleaks。
4. 利用 GitHub Action 运行 ESLint

Eslint Action
该操作在指定的 JavaScript 文件上执行ESLint代码检查工具,而不需要任何前期的操作/构建步骤或Docker。
要执行操作,本地必须运行 ESLint。它将使用与本地相同的规则。要了解更多信息,请查看ESLint入门指南。
用法
将下面的任何一个例子添加到文件.github/main.workflow
。
下面是一个使用该操作的示例:
在默认情况下,它会对项目中的所有文件运行 ESLint。但是,你可以使用args
指定要检查的文件,如下所示:
如果你之前没有安装必要的模块,那么该操作会自动运行yarn install
或 npm install
。
小结
感谢阅读,希望本文对你有所帮助。如果你知道任何其他有用的 GitHub Actions,请告诉我们。保持好奇,快乐编码!
英文原文:
Improve Your Workflow With These 4 GitHub Actions
评论