GitHub Actions 是 GitHub 提供的一种持续集成(CI)和持续部署(CD)的工具,用于自动化软件开发过程中的各种任务和工作流。GitHub Action Workflow 是一组定义在存储库中的自动化任务,可以根据不同的事件(例如代码推送、拉取请求、问题创建等)触发执行。
每个 GitHub Action Workflow 都是由一个或多个步骤(Steps)组成,每个步骤可以包含一个或多个命令、脚本或操作。这些步骤可以按顺序执行,也可以并行执行,以便自动化构建、测试、部署等任务。
一些常见的用途包括:
GitHub Action Workflow 使用 YAML 文件来定义,该文件位于存储库中的 .github/workflows
目录下。这些定义可以根据项目的需求进行配置和自定义。
# 定义构建流程
name: Build Process
# 当代码被推送到存储库时触发工作流
on: push
jobs:
# 定义构建作业
build:
# 在 Windows 环境中运行
runs-on: windows-latest
steps:
# 步骤:检出代码
- name: Checkout code
uses: actions/checkout@v3
# 步骤:设置 MSBuild
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.1
# 步骤:构建 VS 项目
- name: Build VS Project
run: |
# 运行生成 DLL 的命令
msbuild project.sln /p:Configuration=Release /p:Platform=x64
# 步骤:上传 ZIP 构件
- name: Upload ZIP Artifact
uses: actions/upload-artifact@v3
with:
name: project
# 压缩包过期时间
retention-days: 90
# 压缩包路径,需要根据自己项目配置进行相对应的设置
path: |
release
# 定义构建流程
name: Build Process
# 当代码被推送到存储库时触发工作流
on: push
jobs:
# 定义构建作业
build:
# 在 Ubuntu 环境中运行
runs-on: ubuntu-latest
steps:
# 步骤:检出代码
- name: Checkout code
uses: actions/checkout@v3
# 步骤:设置 Java 环境为 JDK 8,并使用 Corretto 发行版,缓存 Maven
- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'corretto'
cache: 'maven'
# 步骤:构建 Maven 项目
- name: Build Maven Project
run: |
# 运行打包 Maven 项目的命令
mvn -DskipTests package
# 步骤:上传 ZIP 构件
- name: Upload ZIP Artifact
uses: actions/upload-artifact@v3
with:
name: project
retention-days: 90
path: |
target/*
在项目根路径建立/.github/workflows文件夹,并在这个路径下放置你的yaml构建脚本
如果你对于一些不会写的构建过程,你可以到Actions MarketPlace
找到对应的构建脚本并直接使用。
https://github.com/marketplace?type=actions
https://docs.github.com/zh/actions
手机扫一扫
移动阅读更方便
你可能感兴趣的文章