GitHub Actions 是 GitHub 官方 CI/CD 工具,无需自建服务器,直接在仓库内完成自动化构建、测试、部署。
核心概念
| 概念 | 说明 |
|---|
| Workflow | 工作流,一个完整的自动化流程,对应一个 .yml 文件 |
| Job | 任务,Workflow 由一个或多个 Job 组成,默认并行执行 |
| Step | 步骤,Job 由多个 Step 组成,串行执行 |
| Action | 动作,封装好的可复用脚本/工具 |
目录结构
1
2
3
4
| .github/
└── workflows/
├── test.yml
└── deploy.yml
|
配置示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| name: Java CI/CD
on:
push:
branches: [main, dev]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 拉取代码
uses: actions/checkout@v4
- name: 配置 JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
- name: 执行测试
run: mvn clean test
- name: 打包
run: mvn package -Dmaven.test.skip=true
|
核心关键字
| 关键字 | 作用 |
|---|
on | 触发条件(push、workflow_dispatch) |
runs-on | 运行环境(ubuntu-latest、windows-latest) |
uses | 调用现成 Action |
run | 执行 shell 命令 |
with | 给 Action 传参 |
触发方式
1
2
3
4
5
6
7
| # 推送触发
on:
push:
branches: [main]
# 手动触发
on: workflow_dispatch
|
Comments