[T.10] 团队项目:CI/CD实践

[T.10] 团队项目:CI/CD实践

项目 内容
这个作业属于哪个课程 首页 - 2026年春季软件工程 - 北京航空航天大学 - 班级博客 - 博客园
这个作业的需求在哪里 [T.10] 团队项目:CI/CD实践 - 作业 - 2026年春季软件工程 - 班级博客 - 博客园
我在这个课程的目标是 通过学习软件工程理论与敏捷开发实践,熟悉产品从立项到交付的全流程,提升团队协作与工程开发经验。
这个作业在哪个具体方面帮助我实现目标 熟悉了解CI/CD工作流的实现和触发

一、 选择的选项及选择的理由

在本次 CI/CD 工程实践中,我们团队针对当前的 Unity 项目做出了以下技术选型:

  • 平台选型: 方案 A —— GitHub Actions
  • 任务选型: 代码/提交规范检查

选择的理由与价值分析:

  1. 与当前项目的适配性: 我们的 Unity 项目代码目前托管在 GitHub 上。选择 GitHub Actions 可以实现开箱即用的原生集成,极大地降低了前期的运维成本。
  2. 对团队开发流程的价值: 在 Unity 多人协作开发中,不同成员的代码风格(如缩进、大括号换行、变量命名大小写等)往往存在差异。这不仅增加了 Code Review 的阅读成本,还容易引发不必要的 Git 合并冲突。通过引入自动化的 C# 代码规范检查,我们可以在代码合并入主干前强制实施代码质量门禁,将隐患拦截在提交阶段,从而提升团队敏捷开发的效率和代码库的整体可维护性。

二、 CI/CD 配置文件展示

我们在现有开发仓库的根目录下配置了 GitHub Actions 的工作流文件,并配合 .editorconfig 规则文件来约束代码风格。

以下是具体的 .github/workflows/csharp-lint.yml 脚本代码:

YAML

name: C# Code Format Check

# 触发条件配置
on:
  push:
    branches: [ "main", "develop" ]
  pull_request:
    branches: [ "main", "develop" ]

jobs:
  lint:
    name: Check C# Code Formatting
    runs-on: ubuntu-latest # 使用 GitHub 免费提供的 Ubuntu 运行环境

    steps:
      # 1. 拉取仓库最新代码
      - name: Checkout Repository
        uses: actions/checkout@v4

      # 2. 部署 .NET 环境 (用于解析和扫描 C# 脚本)
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: '7.0.x' 

      # 3. 执行代码规范严格检查
      - name: Run C# Linter
        run: |
          echo "开始进行最严格的 C# 代码全面扫描..."
          # --verify-no-changes:CI 专属拦截模式,遇到格式错误直接抛出报错,不自动修改
          # --include:指定只扫描 Unity 项目的核心脚本目录
          dotnet format --verify-no-changes --include ./UnityProject/Assets/**/*.cs

三、 实现方式及配置细节描述

本套 CI/CD 流水线的核心逻辑是:绕开庞大的 Unity 引擎引擎启动过程,直接利用轻量级的 .NET Core SDK 对项目中的 .cs 脚本进行静态扫描。 具体的规则策略如下:

  1. 分支范围 (Branches Scope):maindevelop
    • 理由: main 是生产环境分支,develop 是团队日常开发的公共主干分支。这两条分支是项目的核心命脉,需要重点保护,只允许符合团队规范的干净代码合入。
  2. 触发条件 (Triggers):pushpull_request
    • 理由: 当团队成员直接推送代码,或发起 PR 合并请求时,流水线会立即被唤醒。这样可以做到“提交即检查”,如果是 PR,一旦检查失败将直接阻止代码 Merge。
  3. 执行的动作 (Actions):代码静态扫描
    • 动作详解: 脚本首先检出代码,部署 .NET 7.0 编译器,最后执行 dotnet format --verify-no-changes 命令。它会比对仓库根目录的 .editorconfig 规范。

四、 CI/CD 触发测试与结果展示

为了验证流水线的可靠性,我们在项目中进行了触发测试:

image

posted @ 2026-04-27 15:02  代码搬运工314  阅读(12)  评论(0)    收藏  举报