过去的我,一提到 GitHub Action 就直接联想到持续整合与布署,然後就开始进入如何设计、撰写 pipeline 的问题之中。实际上 GitHub Action 的定义在於自动化程序中的每一个步骤,所以除了建置、测试、布署你的应用程序,也能将 GitHub 内部的流程自动化。
举例来说,你能检查 Pull Request 或 Issue 是否过於老旧;也能对於第一次发 Pull Request 至你的 Repo 的贡献人员打个招呼;你可以在依据修改路径,使用 label 将 Pull Request 进行分类。这些程序与你的应用程序建置与布署没有直接关系,但可以串接起整个开发流程。
另一方面,许多读者可能不知道既有或第三方开发的 Action 如何使用,本篇文章也会简单说明如何搜寻与使用官方/第三方贡献者的 Action,让开发者不需要每次重新制作轮子。
开启你的 Repo > 点选 Action 按钮 > 点选 New workflow
画面拉至最底,可以看见四个 Automation 范本,我们点选第一个 Greeting 内的 Set up this workflow
我们来简单说明下列的 workflow:
name: Greetings
on: [pull_request, issues]
jobs:
greeting:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: 'Message that will be displayed on users first issue'
pr-message: 'Message that will be displayed on users first pull request'
修改完讯息後,点选右上缴 commit 储存
接下来我们来进行测试,在 Repo 内点选 Issue > New issue
因为只是测试,所以随意输入标题与内容,完成後点选 Submit new issue
建立完成後,你可以在这个 Test Issue 看见我们欢迎的讯息
目前在市面上的 CI/CD 自动化产品,其实皆可以执行 Command 或 Build Script 来达到自动执行的需求。但在选择产品时,最重要是pipeline建立与维护的难易度。过於使用难以消化的指令与过於复杂的自动化流程,往往难以达到持续的优化,最终可能造就一个执行时间久又难以修改的 workflow,变成软件发展的绊脚石。
在 GitHub Action workflow 撰写画面,眼尖的读者应该有发现右方有 MarketPlace 选项,在这里你可以搜寻可以使用的 Action,只须点该 Action,即有 YAML 范本与使用说明,可以让你直接修改使用
最下方有分类:Code Quality, Monitoring, Continous Integration, Project Management, Deployment, Test,让使用者快速找到自己想到的 Action
倘若在这个搜寻栏难以找到你要的 Action 与详细说明,最下方的 GitHub Marketplace,让你更快找到你想要的。
注意: 尽可能使用官方、开源组织所建立的 Action,避免不知名第三方套件暗藏恶意流程
注意: 确认这些 Action 内没有列印出 Secret 相关 command,避免敏感资讯被盗取使用
阅读完本篇文章,你应该对於 GitHub Action 有更细部的了解:它不只是一个执行 CI/CD 自动化服务,也一个自动化的程序,更重要的是有许多可重复使用的 Action,不用让读者每次都建立 workflow 时都需要从重造轮子开始。下一篇文章开始,我们将开始介绍 GitHub 安全相关功能。若喜欢我的文章,欢迎点 like, 分享与订阅。
题目原文 题目网址 翻译蒟蒻 题目给你两个阵列 a 和 b 里面包含一些数字 找出一个特定数字符合以...
在安装软件时有安装成功,但启动时失败,有人有遇过这种情形吗? ...
上一章节讲述了 PostgreSQL 的键置和 mybatis 连线到 DB 的配置,那今天就来实际...
今天继续把上一篇文的程序做完,没看过的记得要去看喔! 图片转向 那再来就先来做转向的部分: from...
群益 API 是利用自己开发的程序,结合群益 API 在群益券商下单的一种方式,通常是做程序交易下单...