中山公众号开发,中山小程序开发,中山企业官网开发,中山软件开发,中山APP开发
公司动态
COMPANY DYNAMIC
行业资讯
COMPANY DYNAMIC
扫一扫出方案
4 个提高效率的 GitHub Actions 技巧
点击数:
2020-06-04 17:05:02

4个提高效率的GitHub Actions技巧

本文最初发布于 BetterProgramming 博客,经原作者授权由 InfoQ 中文站翻译并分享。

如果你将代码托管在 GitHub 上,那么你可以充分利用 GitHub Actions 。借助 GitHub Actions,你可以完成代码测试和检查,无需手动运行这些任务。如果你不很清楚 GitHub Actions 是什么以及如何使用它们,我建议你先看看阮一峰的 GitHub Actions 入门教程

1. 利用 GitHub Actions 审计网页

这一操作集成了谷歌提供的实用网页审计工具 Lighthouse ,可以检测性能、可访问性、最佳实践、搜索引擎优化和渐进式 Web 应用程序。

4个提高效率的GitHub Actions技巧

Github Lighthouse Action

目前,该操作会打印出 5 个分数(满分 100),并上传 HTML 和 JSON 版本的报告。

在下一个版本中,该操作将允许你指定每项测试的阈值,如果不满足条件,可以有选择性地停止这个步骤。

4个提高效率的GitHub Actions技巧

Lighthouse 审计报告示例

用法

下面的工作流在 jarv.is 上运行一个 Lighthouse 审计,该步骤会在输出中显示 5 个分数,并上传结果 .html 和 .json的版本,以供下载(如上所示)。

workflow.yml文件:

复制代码
name: Audit live siteon: pushjobs:audit:runs-on: ubuntu-lateststeps:- name: Audit live URLuses: jakejarvis/lighthouse-action@masterwith:url: 'https://jarv.is/'- name: Upload results as an artifactuses: actions/upload-artifact@masterwith:name: reportpath: './report'

Lighthouse 在你构建渐进式Web 应用时特别有用。该项目的灵感来自GoogleChromeLabs/lighthousebot 

2. 利用 GitHub Actions 运行 SSH 命令

该操作将通过 SSH 在你的 $HOST 上将提供的参数作为命令运行。如果你想在每次提交或推送之后在自己的私有服务器上运行命令,那么它会非常有用。

4个提高效率的GitHub Actions技巧

SSH GitHub Action

用法

要使用这个操作,只需要在.github/main.workflow文件中添加以下几行:

复制代码
action "Run deploy script" {uses = "maddox/actions/ssh@master"args = "/opt/deploy/run"secrets = ["PRIVATE_KEY","HOST","USER"]}

所需的参数

你所使用的参数就是你要通过 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文件,该操作会在你无意中发布了私密信息时通知你。

4个提高效率的GitHub Actions技巧

Gitleaks-action

用法

复制代码
workflow "gitleaks my commits" {on = "push"resolves = ["gitleaks"]}action "gitleaks" {uses = "eshork/gitleaks-action@master"}

要了解更多信息,请移步 zricethezav/gitleaks 

4. 利用 GitHub Action 运行 ESLint

4个提高效率的GitHub Actions技巧

Eslint Action

该操作在指定的 JavaScript 文件上执行 ESLint 代码检查工具,而不需要任何前期的操作 / 构建步骤或 Docker 

要执行操作,本地必须运行 ESLint。它将使用与本地相同的规则。要了解更多信息,请查看 ESLint 入门指南

用法

将下面的任何一个例子添加到文件.github/main.workflow

下面是一个使用该操作的示例:

复制代码
workflow "New workflow" {on = "push"resolves = ["ESLint"]}action "ESLint" {uses = "stefanoeb/eslint-action@master"}

在默认情况下,它会对项目中的所有文件运行 ESLint。但是,你可以使用args指定要检查的文件,如下所示:

复制代码
workflow "New workflow" {on = "push"resolves = ["ESLint"]}action "ESLint" {uses = "stefanoeb/eslint-action@master"args = "index.js src/**.js"}

如果你之前没有安装必要的模块,那么该操作会自动运行yarn install 或 npm install 。

小结

感谢阅读,希望本文对你有所帮助。如果你知道任何其他有用的 GitHub Actions,请告诉我们。保持好奇,快乐编码!

文章版权归极客邦科技 InfoQ 所有

节点互动(广东)科技有限公司一家专注于 APP开发 + 小程序开发 + 微信开发 + 系统开发 + 网站开发 的专业互联网应用服务提供商。5年实战开发经验,高校合作基地,多年行业深耕经验,助力传统行业快速转型,为众多企业提供创新性互联网应用产品。


推荐文章
资讯类新闻客户端开发有哪几种类型?
【摘要】广州新闻资讯APP开发公司【商侣软件】产品经理Kay分析,移动互联网时代带动新闻APP开发行业发展,纸质媒体以传统的模式开始向数字化、跨媒体过渡,行业媒体如何在不断变化的互联网时代转型、崛起,第一步就是定制开发专属的新闻类资讯APP软件。广州
小程序开发公司哪里强?看这几点
如今小程序开发已不罕见,越来越多的线下商家需要布局线上渠道,小程序是一个非常好的选择。但是,对于不懂任何技术、也没有自身技术团队的小白而言,若想拥有自己的小程序,就需要找靠谱的微信小程序开发公司,但是在这么多雷区的小程序行业,到底怎么选择小程序专业开
为什么必须将代码从 x86 迁移到 ARM,这篇文章给你答案
“我们非常希望 ARM 和鲲鹏的生态能成为下一个计算产业迭代的方向。”在 6 月 8 日于成都举办的华为 DevRun 开发者沙龙——四川鲲鹏开发者嘉年华上,华为鲲鹏计算产业开源与生态营销总监梁冰对计算产业未来展望道。新基建风口下,算力一跃成为了新的
用户引流之前,这6个问题需要思考
增量永远是主旋律,就算现在是由存量找增量的时代,增量的过程也是必不可少的。任何产品的面世,第一步都是吸引用户,但流量一直是广大企业、网商、互联网创业者最头疼的事情。本文作者从自身经验出发,梳理总结了产品引流之前需要思考的6个问题,与大家分享。引流:吸
以数字经济赋能实体 AKmax交易服务平台致力于助推企业数字
今年5月份国务院开展“数字化转型伙伴行动”帮扶举措,核心内容提现了“以数字经济赋能实体,帮助各类企业数字化转型”。区块链作为数字经济主流技术之一,产业区块链、实体场景应用、技术开发的结合发展已成大势所趋。而这一变化,也让业内不少人士重新思考区块链与实
Java 25 岁生日快乐
2020 年 5 月 23 日,标志着距离 Java 编程语言和平台的第一个公开 alpha 版本发布已经过去了 25 周年。跟最初版本发布那会儿相比,世界已经发生了很大的变化,那时 Network World 认为“一些分析师相信 Java 编程语
互联网风口消失时
数十年来推动硅谷高速增长的互联网风潮正处于停滞状态,由此带来的连锁反应将震动整个科技产业。上世纪 90 年代末,互联网使用量开始迅猛增长。风口出现了,互联网大潮开始了。从那以后,消费者在互联网上花费的时间和金钱越来越多,智能手机和社交网络开始深入到人
如何进行APP版本升级管理?
在产品工作中,经常要对产品APP进行迭代升级。本文作者根据自己的工作经验,对APP版本升级管理这个问题展开了深入的思考,希望对你有帮助。移动端功能开发测试完成后,需要引导用户安装新版本,针对用户量级较大的APP这个过程中会分为两个阶段:灰度阶段和正式
被疫情按下快进键,“崩了”的视频平台能否进一步“扭亏”?
2020年疫情引发的“黑天鹅事件”,同时也撬动了视频行业的“快进键”。2月16日,“爱奇艺崩了”、“小米电视崩了”、“韩剧TV崩了”相继冲上微博热搜。爱奇艺官方随即发布相关致歉声明,2小时候后APP全面恢复运行。疫情影响下,民众足不出户,线上娱乐迎来
一张壁纸使 Android 手机集体变砖,目前尚无解决方法
近日,一名网友在 Twitter 上传了一张壁纸并表示该壁纸会使他的三星手机崩溃。此前已经有日历 Bug 导致三星手机集体崩溃的事情发生,而这一次三星手机再次中招。只因为使用了一张风景壁纸就能导致手机崩溃?经该网友测试,不止是三星,包括谷歌亲儿子 G
在线客服系统