Hero Image
GITHUB ACTIONS工作流

这篇文章以一个简单的Nodejs应用为例,示例如何使用Github Actions来自动构建,测试和部署一个应用. 什么是Github Actions 首先简单介绍下什么是Github Actions? Github Actions是Github官方提供的一个与Github集成在一起的CI/CD工具,使用Github Actions可以非常容易地自动化你的所有软件工作流程,包括持续集成(CI)和持续发布(CD). 不过要使用Github Actions,你需要将你的项目代码库放在Github上,然后为代码库配置相应的工作流(Workflows). Actions Runner 使用Github Actions来执行工作流任务,还需要一个可执行的环境,Actions Runner就是提供这样的环境,Github Actions支持两种类型的Runner: Github-Hosted Runner : 由Github官方提供和维护的Runner服务器,不需要用户自己维护和更新,有支持Linnux,Windows,macOS环境的构建 Self-Hosted Runner : 用户自己使用本地机器,云服务器安装Actions应用,用户可以自定义硬件,软件等需求 Actions 在Github Actions中有一个Action的概念,Actions是一个独立的任务,你可以组合这些任务成为要完成一个工作的步骤. 在工作步骤中,你可以自己写执行命令组成Action,也可以直接使用Github社区提供的针对一个写公共任务的Actions,可以到Github市场查找社区或者其他开发人员编写的Actions. 例如一个最常用的Action - checkout,可用来检出代码库: - uses: actions/checkout@v2 除了以上概念之外,Github Actions还有其他概念需要了解,具体可参考 (https://help.github.com/en/actions/getting-started-with-github-actions/overview) Nodejs应用示例 接下来,我们就那个简单的nodejs应用来看看如何使用Github Actions创建CI/CD的流程. 首先,你的项目代码库需要放在Github上,例如 https://github/mengzyou/hellonode/ ,访问你的代码库主页,然后点击 Actions 进入Actions页面. 根据你的代码库的语言类型,Github推荐了一些Workflow的模板,这里我们将使用Nodejs的模板 直接点击 Set up this workflow 来应用这个模板,然后Github会直接打来Web编辑器来编辑这个模板文件 你可以直接使用该文件,也可以修改,添加需要的Actions,完成之后可以点击 Start commit 按钮来提交Workflow文件,Github会自动为代码库创建目录 .github/workflows/,以及把该文件放在该目录下,例如 .github/workflows/nodejs.yml . 提交之后,Github Actions就会根据Workflow的内容开始运行相应的工作. 创建一个执行测试CI工作流 其实我们也可以直接编辑本地代码库,添加目录 .github/workflows/`,以及创建相应的Workflows配置文件,例如我们创建一个 .github/workflows/nodejs.yml` name: Node.js CI on: push: branches: - master jobs: build: runs-on: ubuntu-latest container: node:12.