ant+jacoco+jenkins+HttpRunnerManager代码覆盖率统计平台搭建
实现思路通过jenkins构建,并使用HttpRunnerManager异步实现报告更新与展示。
现在整理一下我的实现流程:
一、创建jenkins节点并启动此节点
创建jenkins节点,并使用docker容器启动节点。
1、jenkins系统创建nodes节点
a、系统管理 - 管理节点 - 新建节点
b、创建成功后会出现如下界面
点击agent.jar,下载agent.jar重命名为 slave.jar
2、生成镜像,创建并运行节点容器
a、下载所需要的环境包
ant、maven、jacoco、jdk:从官网上下载
slave.jar:就是刚才下载的agent.jar。
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}"