在開始配置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++持續集成環境,實現代碼自動拉取、編譯、測試和結果通知。根據項目需求,可進一步擴展流程(如集成部署、靜態代碼分析等)。