前言
随着项目规模不断扩大,构建一条简单、稳定、自动化的 CI/CD 流水线变得越来越重要。鲲鹏 DevKit 在这一方面提供了完整的工具链支持,从代码检查到构建、测试、部署都有覆盖,让我们能够在国产化环境中快速搭建可靠的持续交付体系。我将结合实际使用经验,介绍如何基于 DevKit 构建一条完整、高效的 CI/CD 流水线,并给出相关配置示例与最佳实践。
在进行开发的过程中可以参考官网给出的资料快速安装和入门:
https://www.hikunpeng.com/document/detail/zh/kunpengdevps/overview/index.html
本次实验是在华为云开发者空间上进行的,点击进入https://developer.huaweicloud.com/space/devportal/platform/devEnvironment?tab=cloud_desktop&ticket=ST-8160487-KjIyCRlHrKoolUkIbqrfPb59-sso&locale=zh-cn

DevKit CI/CD 流水线概览
鲲鹏 DevKit 提供了完整的 CI/CD 流水线工具链,支持代码提交、自动构建、测试、部署等全流程。
devkit pipeline --info 是鲲鹏 DevKit CI/CD 流水线的核心查询命令,能一键输出流水线的配置结构、关联组件与运行规则,是开发者快速熟悉流水线、排查配置问题的必备工具。
使用devkit pipeline --info 的输出结果:

流水线架构
代码仓库 (Git/Gitee/GitCode)
↓
代码检查 (Lint、安全扫描)
↓
编译构建 (GCC、CMake)
↓
单元测试 (CUnit、GoogleTest)
↓
集成测试 (功能测试、性能测试)
↓
部署发布 (Docker、K8s)
↓
监控告警 (性能监控、日志分析)
核心工具集
-
代码分析:Dependency Advisor、Porting Advisor
-
编译工具:GCC 优化版、CMake
-
测试工具:单元测试框架、性能测试工具
-
部署工具:Docker、Kubernetes
-
监控工具:性能分析、日志收集
准备工作:获取并安装鲲鹏 DevKit
系统要求
- 操作系统: Ubuntu 20.04
- 架构:ARM64(鲲鹏 920 处理器)
- 权限:具备
sudo权限 - 网络:可访问华为鲲鹏社区及软件源
添加鲲鹏软件源
1、下载工具https://www.hikunpeng.com/zh/developer/devkit/download?tab=commandLine


2、按依赖顺序安装 RPM 包
# 进入 RPM 所在目录(假设在 ~/Downloads)
cd ~/Downloads
# 安装主框架
sudo rpm -ivh devkit-25.2.rc1-1.aarch64.rpm
# 安装源码迁移模块(关键!)
sudo rpm -ivh devkit-porting-25.2.rc1-1.aarch64.rpm
# (可选)安装系统迁移模块
# sudo rpm -ivh devkit-sys-mig-25.2.rc1-1.aarch64.rpm

✅ 验证安装:
/usr/local/devkit/devkit --version

安装依赖工具(如未预装)
# 安装基础开发工具
sudo yum install -y git cmake gcc-c++ make docker kubernetes-client
# 安装测试框架(DevKit 会自动调用,但需提前安装)
sudo yum install -y gtest-devel google-benchmark-devel gcovr
初始化项目并配置流水线
创建示例项目
mkdir -p myapp/{src,test,.devkit}
cat > myapp/src/main.cpp <<EOF
#include <iostream>
int main() {
std::cout << "Hello from DevKit C++ project!" << std::endl;
return 0;
}
EOF
cat > myapp/test/unit_test.cpp <<EOF
// Simple placeholder
int main() { return 0; }
EOF
cat > myapp/CMakeLists.txt <<EOF
cmake_minimum_required(VERSION 3.10)
project(MyApp)
set(CMAKE_CXX_STANDARD 17)
add_executable(myapp src/main.cpp)
add_executable(unit_test test/unit_test.cpp)
EOF
cat > myapp/.devkit/pipeline.yml <<EOF
name: MyApp CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
stages:
- name: 代码检查
jobs:
- lint
- security_scan
- name: 编译构建
jobs:
- build_release
- name: 测试
jobs:
- unit_test
- performance_test
- name: 部署
jobs:
- build_docker_image
EOF
此配置已简化,适合初学者快速验证全流程。
逐阶段执行与验证(本地调试模式)
代码检查阶段
# 启用所有检查规则
devkit config lint --enable-all
# 执行检查(输出 HTML 报告)
devkit lint --source src/ --report html
✅ 预期输出:
- 在
./reports/lint/下生成index.html - 无严重警告或安全漏洞

编译构建阶段
确保 CMakeLists.txt 包含鲲鹏优化:
cmake_minimum_required(VERSION 3.10)
project(MyApp)
# 启用鲲鹏指令集优化
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=armv8-a+sve")
add_executable(myapp src/main.cpp)
执行构建:
devkit build --type release
✅ 预期输出:
build/release/myapp可执行文件生成- 构建时间显著低于标准 GCC

自动化测试阶段
单元测试
确保 test/unit_test.cpp 内容正确,然后运行:
devkit test --unit --report html
✅ 预期输出:
- 所有测试通过
./reports/test/下生成覆盖率报告(需编译时启用-fprofile-arcs -ftest-coverage)
注意 :若使用
devkit test,DevKit 会自动注入覆盖率编译选项。
性能测试
devkit perf test
✅ 预期输出:
- 性能测试用例执行成功
- 输出类似
BM_Algorithm/1024 12.5 ms的结果

容器化部署阶段
构建 Docker 镜像
创建 Dockerfile,然后:
# 构建镜像(确保 Docker 已启动)
sudo systemctl start docker
devkit deploy --docker --image-name myapp:latest
DevKit 封装了
docker build命令,自动适配 ARM64 架构。
✅ 验证镜像:
docker images | grep myapp
# 应显示 myapp latest <size> <time>

(可选)部署到 Kubernetes
# 应用 Deployment 配置(需提前配置 kubeconfig)
kubectl apply -f k8s-deployment.yaml
kubectl get pods -l app=myapp
端到端流水线执行
完成上述配置后,即可一键运行完整流水线:
# 本地执行(推荐先本地验证)
devkit pipeline run --local
# 查看执行日志与状态
devkit pipeline status
✅ 成功标志:
- 所有阶段标记为
✓ 通过 - 总耗时 < 10 分钟
常见问题排查指南
|-----------------------------|---------------------------------------------------|
| 问题 | 解决方案 |
| devkit: command not found | 检查是否安装成功,或执行 source /etc/profile |
| Docker 构建失败(x86 镜像拉取) | 确保 FROM 使用 kunpeng/xxx 或 arm64v8/xxx 镜像 |
| 单元测试链接失败 | 安装 gtest-devel 并在 CMake 中链接 GTest::gtest_main |
| 性能测试未触发 | 确认 test/perf_test.cpp 存在且包含 BENCHMARK_MAIN() |
总结
通过以上 详细、可复现的步骤,开发者可以在一台鲲鹏服务器上:
- 安装 DevKit 工具链
- 初始化项目模板
- 配置 YAML 流水线
- 逐阶段验证功能
- 一键运行完整 CI/CD
整体来看,DevKit 提供的全流程支持,使国产化环境下的软件交付更加高效、自动化和可追溯,为企业构建稳定、高性能的 CI/CD 流水线提供了有力保障。
鲲鹏社区直达https://www.hikunpeng.com/developer?utm_campaign=com&utm_source=csdnkol