Actions
作用
- 执行自定义 CI/CD 流程
- 使用别人写好的流程
概念
- workflow:工作流程,持续集成一次运行的过程。
- job:任务,一个 workflow 由一个或多个 job 构成,含义是一次持续集成的运行,可以完成多个任务。
- step:步骤,每个 job 由多个 step 构成,一步步完成。
- action:动作,每个 step 可以依次执行一个或多个动作。
使用
在 .github/workflows 文件夹下创建 *.yml 文件
示例
name: "test"
on: "push"
jobs:
test_job:
name: "test job"
runs-on: "ubuntu-latest"
steps:
- name: Checkout
uses: actions/[checkout@master](mailto:checkout@master)
- name: print
run: |
echo "hello world"name:可选,作为查看流程时的名字,省略则使用 yml 文件的名字on:监听哪个事件被触发后执行流程,包括代码库事件、外部事件、定时触发jobs:每个job有一个id,也可以使用name修改显示的名字runs-on:运行的环境steps: 每个step用-分开,uses使用别人写好的action
VSCode 插件
这个插件可以支持在 vscode 中查看 workflow 的运行状况,而不用跑到网页上查看
Github Pages
创建用户名.github.io仓库,用户名小写
选择想要部署的仓库,选择要部署的分支,选择 index.html、index.md、README.md 所在文件夹
保存之后自动执行 github action workflow(保存按钮灰色就先将分支切到 None 再切回其他分支)
执行完看到地址
License
创建
从choosealicense里选择一个 license 并复制
在项目根目录下创建 LICENSE.txt、LICENSE.md 或 LICENSE.rst 文件并粘贴复制的内容
推送之后就能在 github 仓库右侧和 README 右侧看到
Release
和 tag 的区别
- 属于 github 的概念不是 git 的概念
- 基于 tag 创建,不是每个 tag 都有对应的 release
- 可以包含 changelog 信息
- 可以包含当前 tag 历史版本下编译后的文件
Tag
为什么
- 指向某个 commit
- 标记版本
- 不改动只查看
和 Branch 的区别
- 一系列 commit 的组合
- 可以在某个 tag 基础上修改并发布新的 tag
创建
前提是安装了 GitLens 插件
给当前分支打 tag
给 commit 打 tag
推送 tag
规范
- 开头加上 v 前缀(v1.0.0, v2.3.4)
- 预发布版本加上后缀(v0.2.0-alpha, v5.9-beta.3)
- 更多