Code Arts
CodeArts
#tech / ops / cloud
#type / concept
#status / growing
[!info] related notes
CodeArts
CodeArts
华为云一站式DevOps平台,涵盖项目管理、代码托管、流水线、测试、部署等全生命周期服务
基础概念
- 核心组件
- 代码托管:Git仓库管理,支持导入GitHub/GitLab代码。
- 流水线:CI/CD自动化流程(构建、测试、部署)。
- 项目管理:敏捷看板、需求跟踪、任务协同(Scrum/IPD模型)。
- 制品仓库:存储构建产物(如JAR包、Docker镜像)。
- 关键术语
- 构建任务:将源代码编译为可部署产物。
- 部署模板:预置脚本(如SpringBoot/Vue部署)。
- 主机集群:管理目标服务器(SSH密钥绑定)。
使用指南
1. 项目创建与管理
- 权限配置:
- 租户管理员进入 控制台 > 租户设置 > 通用设置,开启“所有成员可创建项目”。
- 新建项目:
工作台 → 新建项目 → 选择模板(Scrum/IPD)→ 填写名称/描述
- 项目维护:
- 移交创建人:项目设置 → 基本信息 → 修改创建人。
- 归档项目:项目设置 → 归档(保留只读视图)。
2. 代码托管
- 导入外部仓库:
代码托管 → 新建仓库 → 导入 → 输入GitHub URL及Token
- 分支策略:
- 保护分支:禁止直接推送 → 需合并请求(MR)。
- 自动触发流水线:
master分支提交时自动构建。
3. 流水线配置
后端项目(SpringBoot)
graph LR
A[代码提交] --> B(编译构建-Maven)
B --> C[生成JAR包]
C --> D{制品仓库}
D --> E[部署到主机集群]
E --> F[执行Shell启停脚本]
- 构建步骤:
- 选择Maven模板 → 配置JDK版本 → 定义输出路径(
target/*.jar)。 - 部署步骤:
- 添加主机集群 → 上传JAR包 → Shell命令:
nohup java -jar /opt/app.jar &
前端项目(Vue)
graph LR
A[代码提交] --> B(Node.js构建)
B --> C[压缩dist目录]
C --> D{上传制品库}
D --> E[解压到Nginx路径]
E --> F[刷新Nginx配置]
- 关键配置:
- 构建命令:
npm install && npm run build - 部署模板:选择“通用部署” → 自定义Nginx根目录(
/usr/share/nginx/html)。
实战经验
场景1:自动部署到多台服务器
- 配置主机集群:
- 添加多台ECS → 绑定同一SSH密钥。
- 并行部署策略:
- 流水线添加 并行任务 → 每台服务器执行相同部署脚本。
场景2:流水线失败自动通知
- 钉钉机器人集成:
- 流水线 → 通知设置 → Webhook → 输入钉钉机器人URL。
- 条件触发:
- 仅当“构建失败”或“部署超时”时发送告警。
避坑指南
- 权限问题:
- 部署失败?检查ECS安全组是否开放SSH端口(默认22)。
- 构建缓存:
node_modules未更新?构建步骤添加rm -rf node_modules。- 资源释放:
- 长期不用的流水线 → 禁用 → 避免占用构建配额。
经验总结
- 高效协作:
- 使用 需求看板 关联代码提交 → 任务进度实时同步。
- 安全实践:
- 敏感信息(如数据库密码)存入 微服务引擎CSE配置中心,非明文写入脚本。
- 成本优化:
- 利用 免费额度:每月500分钟构建时长 + 2GB制品存储。
- 扩展性:
- 复杂场景调用 API Explorer:自动化创建项目/触发流水线。
信息参考
- 官方资源:
- CodeDocs文档中心
- 模板仓库:SpringBoot部署示例
- 学习路径:
- 新手 → 控制台“快速入门”引导(5分钟完成第一个流水线)。
- 进阶 → 认证课程《华为云DevOps实践》(华为云学堂免费开放)。
- 技术支持:
- 工单入口:控制台右上角 工单 > 新建工单。
- 社区论坛:DevCloud开发者论坛