運行環境為centos 5.8
1.下載tomcat,並解壓
2.下載jenkins,把jenkins.war放到tomcat的webapp目錄下
3.在tomcat的bin目錄下執行./startup.sh
4.下載gcovr
gcovr在解壓后的script目錄里
5.下載cppncss
cppncss 在bin目錄里
6.下載cppcheck
解壓后,運行make
7.在jenkins里面下載cppcheck,cppncss,
Cobertura(for gcovr),junit(for gtest),github,git插件
在
jenkins的系統設置里面,git的設置里面的安裝目錄寫git程序所在位置,比如git在/usr/local,那么輸入/usr/local/git,
github的設置選擇
Let Jenkins auto-manage hook URLs,輸入username和password(github的賬號)
在項目的設置中,在
GitHub project設置中設置項目關聯的github項目地址https://xxx,在源碼管理里面設置git選項,在
Repository URL輸入框里輸入github項目地址。並勾選
Build when a change is pushed to GitHub
8.集成gtest
下載getst,解壓
執行g++ -I${GTEST_DIR}/include -I${GTEST_DIR} -c ${GTEST_DIR}/src/gtest-all.cc
ar -rv libgtest.a gtest-all.o
在makefile里面
-I$(GTESTDIR)/include
-lgtest
-L$(GTESTDIR)
9.主文件
|
#include<gtest/gtest.h>
intmain(int argc, char* argv[])
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();//運行所有測試案例
}
|
測試文件
|
#include<gtest/gtest.h>
TEST(CAppToolsTest, handleZeroInput)
{
ASSERT_EQ(1, 1);
}
|
測試輸出
./1.out --gtest_output=xml:gtestreport.xml
10.下載tinyxml
運行make
然后運行
ar -rcs libtinyxml.a tinyxmlparser.o tinyxmlerror.o tinyxml.o tinystr.o生成tinyxml庫
11.生成各種報告的腳本buildcc.sh
|
BuildPath=./dist
TinyXML=/home/pc01/Source/c++/ tinyxml
CPPCheckReport=cppcheckreport.xml
CPPCheckApp=/home/pc01/Source/c++/cppcheck-1.59/cppcheck
CPPNCSSReport=cppncssreport.xml
CPPNCSSApp=/home/pc01/Source/c++/cppncss-1.0.3/bin/cppncss
GCOVReport=gcovreport.xml
GCOVRApp=/home/pc01/Source/ gcovr
SRCDir=./src
RunPath=$BuildPath
GTestReport=gtestreport.xml
echo "clean vod server"
make clean
rm *.gcov > /dev/null
rm $CPPCheckReport > /dev /null
rm -r -f ./cppncss
rm $GCOVReport > /dev /null
rm $GTestReport > /dev /null
echo "make vod server"
make buildtest
if [ -r "$BuildPath" ]; then
echo "Make Success"
echo "Make CPPCheck Report $CPPCheckReport"
$CPPCheckApp -v --enable=all --xml -I $TinyXML $SRCDir 2> $CPPCheckReport
echo "Make CPPNCSS Report $CPPNCSSReport"
mkdir ./cppncss > /dev/null
$
CPPNCSSApp
-r -v -x -k -f=./
cppncss
/$CPPNCSSReport $SRCDir
echo "Run Test Program, Make Test Report"
$RunPath/vodservertest.out --gtest_output=xml:$GTestReport > /dev /null
echo "Make GCovr"
$GCOVRApp -x -r . > $GCOVReport
else
echo "Make Fail!"
fi
|
12.網頁訪問jenkins
- 新建job
- 配置svn
- 配置構建觸發條件
- 配置構建觸發執行動作,將執行生成報告腳本
- 設置構建后操作
- 構建效果
