流水线
GitCode 流水线是一个持续集成和持续交付 (CI/CD) 平台,旨在帮助开发者自动化构建、测试和部署流程。您可以创建工作流,实现从代码提交到生产环境部署的自动化管理。
本文档将向您介绍 GitCode 流水线的核心组件、创建流程以及如何查看流水线执行结果,帮助您快速上手并充分利用这一工具。
核心组件
工作流
工作流程是一个可配置的自动化过程,用于执行一个或多个作业。它由项目中的 YAML 文件定义,通常位于 .gitcode/workflows
目录下。工作流可以由特定事件触发,例如代码推送、拉取请求或议题创建,也可以手动触发或按计划执行。
一个项目可以包含多个工作流,每个工作流可以执行不同的任务。例如,您可以有一个工作流程来构建和测试拉取请求,另一个工作流程用于在每次创建发布时部署应用程序,还有一个工作流程在每次有人打开新议题时添加标签。
事件
事件是触发工作流执行的特定活动。常见的事件包括:
- 代码推送:当代码被推送到特定分支时触发。
- 拉取请求:当创建或更新拉取请求时触发。
- 议题创建:当有新议题被创建时触发。
- 手动触发:通过 GitCode 界面或 API 手动启动工作流。
- 定时触发:按照预定义的时间表自动执行工作流。
作业
作业是工作流中的一个执行单元,包含一组按顺序执行的步骤。每个作业在独立的运行器(Runner)上执行,步骤可以是 Shell 脚本或自定义操作(Action),您可以将数据从一个步骤共享到另一个步骤。 作业之间可以设置依赖关系,确保某些作业在其他作业完成后才执行。
例如,您可以配置以下作业:
- 构建作业:编译代码并生成可执行文件。
- 测试作业:运行单元测试和集成测试。
- 打包作业:将构建结果打包为可部署的镜像或文件。
操作
操作是 GitCode 平台上的可重用扩展,用于执行复杂但常见的任务。通过使用操作,您可以减少工作流文件中的重复代码,并简化流程配置。GitCode 提供了多种内置操作,例如:
- checkout-action:从 GitCode 拉取代码。
- setup-node:配置 Node.js 环境。
- setup-java:配置 Java 环境。
- setup-python:配置 Python 环境。
- setup-go:配置 Go 环境。
您可以编写自己的操作,也可以在 GitCode 插件市场中查找适合的操作。
运行器
运行器是执行工作流的服务器。每次工作流触发时,GitCode 会为每个作业分配一个全新的虚拟机运行器,每个运行器一次可以运行一个作业。GitCode 默认提供欧拉(Euler)运行器,确保每个作业在独立且干净的环境中执行。