继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

揭秘10个鲜为人知的GitHub Actions,助你自动化工作流

慕虎7371278
关注TA
已关注
手记 1302
粉丝 202
获赞 876

GitHub Actions 改变了自动化领域的游戏。CI/CD、测试以及部署呢?当然,这些只是基本的部分。

但要是我告訴你,有一整個被低估的動作大世界,可以讓你的工作流程變得更順暢、更快,甚至可以說毫不費力?

这里有10个不太出名但超级实用的GitHub Actions,你应该开始用了。

1. YAML 验证器

YAML 在自动化中随处可见,但如果缩进不对,砰!你的流程就出问题了。此操作会在你提交之前捕获错误。

为什么这会是颠覆性的:

  • 帮助你避免因 YAML 配置错误引发的令人头疼的调试噩梦。
  • 对 Kubernetes、GitHub 工作流和 CI/CD 来说必不可少。
    - name: 验证 YAML
      使用: ibiqlik/action-yaml-lint@v3
      配置:
        配置文件: '.yamllint'

全屏, 退出全屏

2. Markdown 链接检查工具

有没有遇到过充满坏链接的README?这个工具会扫描你的Markdown文件,并在它们给你带来尴尬之前标记死链接。

适合:如下

  • 保持文档完美。
  • 避免用户尴尬地反馈“死链”的消息。
    - 名称:检查 Markdown 链接
      使用: gaurav-nelson/github-action-markdown-link-check@v1

全屏进入, 全屏退出

3. 自动处理PR

别再手动分配PR了,这个功能会按照设定的规则自动分配。

为什么你需要它呢:

  • 特别是对于每天处理多个PR的团队来说,这可以节省了时间。
  • 这可以确保代码审查不会被遗漏。
    - 名称: 自动分配 PR
      使用: kentaro-m/auto-assign-action@v1
      参数:
        assignees: '指派人员: team-lead'
        reviewers: '审查人员: senior-dev'

进入全屏 退出全屏

4. Commitlint:

杂乱的提交信息让追踪更改变得很痛苦。这个动作要求保持一致性。

适合:

  • 遵循常规提交规范的团队。
  • 保持变更日志整洁,版本控制结构化。
    - 名称: Commitlint
      使用: wagoid/commitlint-github-action@v5

全屏模式 退出

第5. 缓存依赖

依赖安装拖慢了构建速度吗?此操作会缓存这些依赖,让CI运行快得多。

最棒的地方是:

  • 大型的 Node.js/Python/Ruby 项目。
  • 缩短活跃的开发环境中的构建时间。
    - name: 缓存 Node 模块包
      uses: actions/cache@v3
      with:
        path: ~/.npm
        key: ${{ runner.os }}-node-${{ 计算文件哈希值('**/package-lock.json') }}
        restore-keys: |
          ${{ runner.os }}-node-

切换到全屏 退出全屏

6. 在 Slack 上发个通知

别老刷新GitHub看工作流的状态了。这个操作会对构建、测试以及部署实时发送Slack通知。

非常适合:

  • 实时让团队保持更新。
  • 在造成混乱之前捕获部署失败。
    - 名字: 通知 Slack
      使用: rtCamp/action-slack-notify@v2
      with:
        webhook-url: ${{ secrets.SLACK_WEBHOOK }}
        消息: "部署状态: ${{ job.status }}"

全屏模式,退出全屏

7. 许可证符合规范检查工具.

如果你的项目依赖于外部依赖,你需要确保所有许可证符合要求。此操作会帮你进行检查。

特别适合于

  • 开源项目。
  • 遵循严格许可政策的企业团队。
- 名称: 许可检查
  uses: anchorfree/license-check-action@v2

全屏模式...退出全屏

8. PR 尺寸标签器

帮助审阅者们根据大小给PR打标签——小、中等、大,

为什么它有用:

  • 让团队优先处理快速的 PR。
  • 防止巨大的且难以管理的 PR 滑入系统。
    - 名称: PR Size Labeler
      使用于: kentaro-m/size-label-action@v3

切换到全屏模式
退出全屏

9. 使用 Trivy 进行安全检查

安全性是不可妥协的。在这些问题成为漏洞之前,扫描容器镜像和依赖。

它可以用于:

  • 确保您的 Docker 镜像的安全。
  • 在部署前识别潜在的脆弱依赖项。
    - name: 安全检查
      uses: aquasecurity/trivy-action@v0.3.0
      with:
        image-ref: myapp:latest

全屏模式。退出全屏

10. JIRA 的 GitHub Actions 集成.

如果你的团队使用 JIRA,这个功能会根据 GitHub 的提交和拉取请求自动更新任务。

为什么这很重要:

  • 保持您的开发和项目管理团队协调一致。
  • 减少手动更新,确保问题得以解决。
    - 名称: 更新 Jira 问题
      使用: atlassian/gajira-create@v3
      参数:
        项目: "ENG"
        类型: "任务"
        标题: "自动更新问题"
        描述: "关联的 PR: ${{ github.event.pull_request.html_url }}"

全屏/退出全屏

你在你的工作流里加哪个?

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP