GitHub Actions 是 GitHub 的持续集成服务,持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器、发布到第三方服务等等,GitHub 把这些操作称为 actions。
| |
| |
一个库可以有多个 workflow 文件。GitHub 只要发现.github/workflows目录里面有.yml文件,就会自动运行该文件。
| |
自动发布
| |
创建Github项目
| |
上传代码
| |
创建GitHub Token(生成好后记得复制下来,要不然再访问页面的时候密钥就不展示了。)
| |
在新创建的项目secret中添加刚创建的Token
| |
Actions 配置文件
| |
push后,自动触发
|
示例:
# 自定义当前执行文件的名称
name: GitHub Actions Build and Deploy Demo
# 整个流程在master分支发生push事件时触发
on:
push:
branches:
- master
jobs:
build-and-deploy:
runs-on: ubuntu-latest # 运行在ubuntu-latest环境的虚拟机中
steps:
# 获取仓库源码
- name: Checkout
uses: actions/checkout@v2
with:
persist-credentials: false
# 构建和部署
- name: Install and Build
# 由于示例项目代码并非在根目录,所以要这里手动进入了项目目录
# 如果你代码本身就处于根目录则不需要再手动进入了
run: |
cd ./react_project
npm install
npm run-script build
# 发布
- name: Deploy
uses: JamesIves/github-pages-deploy-action@releases/v3
# 环境变量
with:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} # GitHub 密钥 ACCESS_TOKEN 是在第二步Settings的Secrets中新增时定义的Name,要保持一致
# 发布到指定分支
BRANCH: gh-pages
# 构建成果所在目录,默认位置都是在根目录
FOLDER: ./react_project/build