jenkins下搭建c++持續集成環境


 
運行環境為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



  • 配置構建觸發條件



  • 配置構建觸發執行動作,將執行生成報告腳本


  • 設置構建后操作



  • 構建效果








免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM