Skip to main content

配置指南

自定义

让 Virex 适配您的工作流。了解主题、插件和高级配置选项。

Virex 的设计注重灵活性。本指南介绍如何自定义平台以适配您团队的工作流。

控制台主题

个性化您的 Virex 控制台体验:

export default {
  name: 'my-project',
  
  dashboard: {
    theme: 'dark', // 'light'、'dark' 或 'system'
    accentColor: '#6366f1',
  },
};

自定义域名

将您自己的域名绑定到部署:

通过 CLI

virex domains add myapp.com --environment production

通过配置文件

environments: {
  production: {
    domains: ['myapp.com', 'www.myapp.com'],
  },
},

Virex 会自动为自定义域名签发 SSL 证书。

构建插件

使用插件扩展构建流程:

export default {
  name: 'my-project',
  
  plugins: [
    '@virex/plugin-analytics',
    '@virex/plugin-sentry',
    ['@virex/plugin-custom', { option: 'value' }],
  ],
};

热门插件

插件 描述
@virex/plugin-analytics 内置分析仪表盘
@virex/plugin-sentry 错误追踪集成
@virex/plugin-lighthouse 自动化性能审计
@virex/plugin-preview 增强的预览部署

通知

配置部署通知的发送位置:

export default {
  name: 'my-project',
  
  notifications: {
    slack: {
      webhook: process.env.SLACK_WEBHOOK,
      events: ['deployment.success', 'deployment.failure'],
    },
    email: {
      recipients: ['team@example.com'],
      events: ['deployment.failure'],
    },
  },
};

团队权限

控制项目中各成员的操作权限:

export default {
  name: 'my-project',
  
  team: {
    roles: {
      developer: {
        deploy: ['staging'],
        viewLogs: true,
      },
      admin: {
        deploy: ['staging', 'production'],
        manageTeam: true,
        viewLogs: true,
      },
    },
  },
};

Monorepo 支持

对于 monorepo 项目,指定根目录:

export default {
  name: 'frontend-app',
  rootDirectory: 'apps/frontend',
};

或者使用 workspace 检测:

virex init --workspace apps/frontend

CI/CD 集成

将 Virex 集成到您现有的 CI/CD 流水线中:

GitHub Actions

- name: Deploy to Virex
  uses: virex/deploy-action@v2
  with:
    token: ${{ secrets.VIREX_TOKEN }}
    environment: production

通用 CI

VIREX_TOKEN=$TOKEN virex deploy --environment production

高级:自定义构建镜像

适用于有特殊构建需求的场景:

export default {
  name: 'my-project',
  
  build: {
    image: 'node:20-alpine',
    commands: [
      'apk add --no-cache python3',
      'npm ci',
      'npm run build',
    ],
  },
};

下一步