設置git源碼管理
內網搭建GitLab源碼托管平台,如下設置,使用的是http方式,點擊Add添加gitlab用戶名和密碼。
立即執行構建會出現以下信息
表示從gitlab拉取代碼成功,clone路徑是 /root/.jenkins/workspace/uart
cppcheck靜態代碼分析
在構建服務器上安裝cppcheck
sudo apt install cppcheck
在構建輸入以下指令
cppcheck --enable=all --xml-version=2 ./ 2> cppcheck.xml
以上./是指當前目錄,將檢查以xml形式輸出到cppcheck.xml文件
安裝cppcheck插件
添加構建后cppcheck插件
設置cppcheck插件
輸出結果
gcovr代碼覆蓋率分析
安裝gcovr
sudo apt install gcovr
安裝Cobertura插件
修改Makefile文件
在Makefile文件添加 -fprofile-arcs -ftest-coverage -fPIC 編譯選項
Target=epoll_key HomeDir = . Objects=$(HomeDir)/Epoller.o $(HomeDir)/HotKeyService.o $(HomeDir)/main.o CC=g++ Compile=$(CC) -fprofile-arcs -ftest-coverage -fPIC Link=$(CC) -lstdc++ INCLUDE = -O3 -D_LINUX -DLINUX -DDEBUG INCLUDE += -I./ INCLUDE += -I$(ServiceDir)/ LIB=-Wall -lz -lrt -ldl -lpthread -fprofile-arcs -ftest-coverage -fPIC main : $(Objects) $(Link) $(Objects) $(LIB) -o $(Target) .cpp.o : $(Compile) -c -o $@ $< $(INCLUDE) .c.o : $(Compile) -c -o $@ $< $(INCLUDE) clean: rm $(Objects)
添加構建指令
chmod +x epoll_key ./epoll_key gcovr -x -r "./" --output "./coverage.xml"
執行./epoll_key會生成gcda和gcno文件,將覆蓋檢查輸出到coverage.xml文件