在开始配置CI之前,需确保CentOS系统安装了必要的开发工具和依赖库:
# 更新系统
sudo yum update -y
# 安装基础开发工具链(gcc/g++、make、cmake等)
sudo yum groupinstall "Development Tools" -y
sudo yum install cmake git wget -y
# (可选)安装代码编辑器(如Visual Studio Code)
sudo yum install -y epel-release
sudo yum install -y code
这些工具是C++项目编译、测试的基础,确保后续步骤能正常执行。
Jenkins是开源的自动化服务器,适合C++项目的持续集成,以下是安装步骤:
# 添加Jenkins官方仓库
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# 安装Jenkins及依赖(Java)
sudo yum install jenkins java-11-openjdk-devel -y
# 启动Jenkins并设置开机自启
sudo systemctl start jenkins
sudo systemctl enable jenkins
安装完成后,访问http://<服务器IP>:8080,按照提示输入初始管理员密码(位于/var/lib/jenkins/secrets/initialAdminPassword)完成配置。
Jenkins需要安装以下插件以支持C++项目:
配置路径:Manage Jenkins → Manage Plugins → Available,搜索插件名称并安装。
在项目根目录下创建CMakeLists.txt(C++项目的构建配置文件)和构建脚本build.sh:
cmake_minimum_required(VERSION 3.6)
project(MyCppProject)
set(CMAKE_CXX_STANDARD 14) # 设置C++标准
add_executable(MyApp main.cpp) # 定义可执行文件
#!/bin/bash
mkdir -p build # 创建构建目录
cd build
cmake .. # 生成Makefile
make # 编译项目
ctest # 运行单元测试(需提前配置CTest)
确保build.sh有执行权限:
chmod +x build.sh
在Jenkins中创建一个新的Freestyle Project(或Pipeline Job),配置如下:
Git,输入项目仓库URL(如GitHub、GitLab),并配置凭证(SSH或用户名/密码);Poll SCM(定期检查代码变更,如H/5 * * * *表示每5分钟检查一次)或Webhook(实时触发,需配置Git仓库的Webhook地址);Execute shell步骤,输入构建命令:./build.sh
Publish JUnit test result report(生成测试报告,需项目输出junit.xml文件)、Email Notification(发送构建结果邮件)。Build Now手动触发一次构建,查看构建日志确认是否成功;Cppcheck或Clang-Tidy插件,在Build步骤中添加代码扫描命令(如cppcheck --enable=all .);docker build和docker push步骤(需提前配置Docker Hub凭证);通过以上步骤,即可在CentOS上构建一个基本的C++持续集成环境,实现代码自动拉取、编译、测试和结果通知。根据项目需求,可进一步扩展流程(如集成部署、静态代码分析等)。