ant+jacoco+jenkins+HttpRunnerManager代码覆盖率统计平台搭建

实现思路通过jenkins构建,并使用HttpRunnerManager异步实现报告更新与展示。

现在整理一下我的实现流程:

 HttpRunnerManager平台异步生成及展示代码覆盖率报告(ant+jacoco+jenkins+HttpRunnerManager)

一、创建jenkins节点并启动此节点

1、jenkins系统创建nodes节点

2、生成镜像,创建并运行节点容器

二、jenkins创建job,使用jacoco运行程序

1、配置jdk和maven

2、创建job

3、maven构建并使用ant+jacoco启动脚本

4、创建build.xml文件,生成报告

三、覆盖率统计报告服务器

四、httprunnermanager异步生成报告

1、在宿主机上添加异步任务代码

2、宿主机上启动任务

3、在httprunnerManager中添加任务代码

4、httprunnerManager添加访问报告的链接

五、应用展示

 

一、创建jenkins节点并启动此节点

       创建jenkins节点,并使用docker容器启动节点。

1、jenkins系统创建nodes节点

     a、系统管理 - 管理节点 - 新建节点

             HttpRunnerManager平台异步生成及展示代码覆盖率报告(ant+jacoco+jenkins+HttpRunnerManager)

     b、创建成功后会出现如下界面

          点击agent.jar,下载agent.jar重命名为 slave.jar

        HttpRunnerManager平台异步生成及展示代码覆盖率报告(ant+jacoco+jenkins+HttpRunnerManager)

 2、生成镜像,创建并运行节点容器

     a、下载所需要的环境包

           ant、maven、jacoco、jdk:从官网上下载

           slave.jar:就是刚才下载的agent.jar。

        HttpRunnerManager平台异步生成及展示代码覆盖率报告(ant+jacoco+jenkins+HttpRunnerManager)

     b、编写dockerfile文件

FROM         python:3.6.6-stretch
MAINTAINER    test@123.com
#环境变量
ENV MASTER_DOMAIN 'jenkins_Ip:8080'  #第一步中的jenkins服务器的的IP及端口
ENV AGENT_NAME 'docker-slave-jacoco-medical' #jenkins的节点名称
ENV SECRET '1222223333344444444445556666777777666' # 第一步中的jenkins节点的SECRET
#创建目录
RUN mkdir /var/tmp/jdk /var/tmp/maven /var/tmp/slave /var/tmp/ant /var/tmp/jacoco 
COPY jdk1.8.0_181.tar.gz /var/tmp/jdk/
COPY apache-maven-3.5.4-bin.tar.gz /var/tmp/maven/
COPY slave.jar /var/tmp/slave/
COPY apache-ant-1.10.5-bin.tar.gz /var/tmp/ant/
COPY jacoco-0.8.1.tar.gz /var/tmp/jacoco/
#解压
RUN tar -xzvf /var/tmp/jdk/jdk1.8.0_181.tar.gz -C /var/tmp/jdk \
&& cd /var/tmp/jdk && rm -rf *.tar.gz
RUN tar -xzvf /var/tmp/maven/apache-maven-3.5.4-bin.tar.gz -C /var/tmp/maven \
&& cd /var/tmp/maven && rm -rf *.tar.gz
RUN tar -xzvf /var/tmp/ant/apache-ant-1.10.5-bin.tar.gz -C /var/tmp/ant \
&& cd /var/tmp/ant && rm -rf *.tar.gz
RUN tar -xzvf /var/tmp/jacoco/jacoco-0.8.1.tar.gz -C /var/tmp/jacoco \
&& cd /var/tmp/jacoco && rm -rf *.tar.gz
#EXPOSE 映射端口
EXPOSE 80
#环境变量
ENV ANT_HOME /var/tmp/ant/apache-ant-1.10.5
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_181
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /var/tmp/maven/apache-maven-3.5.4
ENV CATALINA_BASE /var/tmp/maven/apache-maven-3.5.4
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin:$ANT_HOME/bin
#环境变量生效
#RUN source /etc/profile
#运行代码
RUN cd /var/tmp/jdk/jdk1.8.0_181/bin && ln -s java java_1.8
CMD java_1.8 -jar /var/tmp/slave/slave.jar -jnlpUrl "http://${MASTER_DOMAIN}/computer/${AGENT_NAME}/slave-agent.jnlp" -secret "${SECRET}"
dockerfile文件内容

相关文章:

  • 2022-12-23
  • 2021-05-14
  • 2022-12-23
  • 2022-12-23
  • 2022-01-31
  • 2022-02-19
  • 2021-11-23
猜你喜欢
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-22
  • 2022-12-23
相关资源
相似解决方案