GitHub Actions 初体验

前言

前段时间同性交友网站 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 工作流,同时不需要借助类似JenkinsTravis-CICircle-CI 等第三方自动化服务,在 GitHub 上的开源项目都可以免费使用的,唔,好嗨哟~

对于,工具类这种的开源项目,后期可以通过 GitHub ActionsRegistry 实现自动打包发布版本。

2. 初体验

2.1. 申请

点击链接 https://github.com/features/actions/signup 去申请

GitHub Actions Signup

2.2. 准备好一个仓库地址

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

GitHub Repo

2.3. 选择一个默认的模板

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

GitHub Actions Maven Template

2.4. 触发

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

GitHub Action Status

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

GitHub Actions Details

3. 配置语法

具体的配置语法,还是参考官方文档:https://help.github.com/en/articles/workflow-syntax-for-github-actions

4. 附录

.github/workflows/maven.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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

5. 参考

  • 官方文档:https://help.github.com/en/articles/workflow-syntax-for-github-actions
-------------本文结束  感谢您的阅读-------------
o(╯□╰)o我只要一毛钱的鼓励~~