前言
前段时间同性交友网站 GitHub 推出了自家的 Registry 服务,支持多种语言的镜像服务,具体参见:https://help.github.com/en/articles/about-github-package-registry
随后,又推出了自家的自动化构建服务:Github Actions,具体参见:https://help.github.com/en/articles/about-github-actions
这俩服务我都在第一时间申请使用了,也都已经审核通过了,但是由于 Registry 测试有些不稳定,还存在一些问题,所以,并未发布体验文章,不过 关于GitHub Actions 我已经成功体验了一把。
1. GitHub Actions
GitHub Actions enables you to create custom software development lifecycle workflows directly in your GitHub repository.
—— https://help.github.com/en/articles/about-github-actions
土味英语翻译一下:
GitHub Actions 允许你直接在 GitHub 仓库中去创建自定义软件开发生命周期工作流。
官网下面还有更为详细的介绍,我就不好意思秀我的土味英语了。简而言之,GitHub Actions 允许用户自定义一个完整流程的 CI/CD 工作流,同时不需要借助类似Jenkins、Travis-CI 和 Circle-CI 等第三方自动化服务,在 GitHub 上的开源项目都可以免费使用的,唔,好嗨哟~
对于,工具类这种的开源项目,后期可以通过 GitHub Actions 和 Registry 实现自动打包发布版本。
2. 初体验
2.1. 申请
点击链接 https://github.com/features/actions/signup 去申请

2.2. 准备好一个仓库地址
当你申请通过之后,打开你的任意一个 GitHub 仓库,上方会出现 Actions 的选项卡,点击即可进入。

2.3. 选择一个默认的模板
因为这里我的是 Spring Boot 项目,基于 Maven 来构建,所以我选择 Maven 的模板。选择之后,进入下面的页面。

2.4. 触发
当我们的代码 push 的时候就会自动触发,当然也有别的触发策略,这个后面再讲。

点击可以查看具体的构建情况,黑框里的每一项都可以点击查看详情。

3. 配置语法
具体的配置语法,还是参考官方文档:https://help.github.com/en/articles/workflow-syntax-for-github-actions
4. 附录
.github/workflows/maven.yml
name: GitHub CI
on:
push:
branches:
- master
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true -B -V