[T.3] 团队项目:团队基础设施及 DevOps 准备

[T.3] 团队项目:团队基础设施及 DevOps 准备

项目 内容
这个作业属于哪个课程 北航2026年春季软件工程
这个作业的要求在哪里 [T.3] 团队项目:团队基础设施及 DevOps 准备
我在这个课程的目标是 提升团队的协作能力,增强软件开发的能力
这个作业在哪个具体方面帮助我实现目标 确定作业完成所需要的配置与开发需求

一、服务器

我们的项目不需要服务器,预计将发布于Itch.io等独立游戏发布平台上。

二、团队协作

团队沟通:微信

团队协作:飞书

代码管理:Github

三、CI/CD

我们为我们的github仓库配置了actions脚本

name: Project CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  # 后端评测:Java + PostgreSQL + Redis
  backend-test:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./backend
    
    services:
      postgres:
        image: postgres:15
        env:
          POSTGRES_DB: testdb
          POSTGRES_USER: user
          POSTGRES_PASSWORD: password
        ports:
          - 5432:5432
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
      redis:
        image: redis:7
        ports:
          - 6379:6379
        options: >-
          --health-cmd "redis-cli ping"
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5

    steps:
      - uses: actions/checkout@v4

      - name: Set up JDK 17
        uses: actions/setup-java@v4
        with:
          java-version: '17'
          distribution: 'temurin'
          cache: maven

      - name: Run Backend Tests with Coverage
        env:
          SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/testdb
          SPRING_DATASOURCE_USERNAME: user
          SPRING_DATASOURCE_PASSWORD: password
          SPRING_REDIS_HOST: localhost
          SPRING_REDIS_PORT: 6379
        run: mvn -B clean verify # verify 命令通常包含单元测试、集成测试及 JaCoCo 覆盖率生成

      - name: Upload Java Coverage Report
        uses: actions/upload-artifact@v4
        with:
          name: java-coverage-report
          path: backend/target/site/jacoco/

  # 前端评测:JavaScript
  frontend-test:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./frontend

    steps:
      - uses: actions/checkout@v4

      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'
          cache-dependency-path: frontend/package-lock.json

      - name: Install & Lint
        run: |
          npm ci
          npm run lint --if-present

      - name: Run Frontend Tests with Coverage
        run: npm test -- --coverage --watchAll=false

      - name: Upload JS Coverage Report
        uses: actions/upload-artifact@v4
        with:
          name: js-coverage-report
          path: frontend/coverage/

微信图片_20260415214020_570_3

posted @ 2026-04-15 21:42  Fruit_Inc  阅读(25)  评论(0)    收藏  举报