精华内容
下载资源
问答
  • Jenkins+Jmeter+Ant自动化集成环境搭建

    万次阅读 热门讨论 2016-07-27 15:10:19
    Jenkins + Jmeter +Ant自动化集成环境搭建 搭建环境: JDK:jdk1.7.0_79 Ant:apache-ant-1.9.7 Jmeter: apache-jmeter-2.13 Jenkins: jenkins-1.651.1 以上安装包以及相关工具下载地址: ... JDK安装: ...

    Jenkins + Jmeter +Ant自动化集成环境搭建

     

    软件测试技术交流群 :

    1、QQ交流群:群号 429183023

    2、添加JeongJinWin,或者扫描头像二维码

     

    2017-03-24更新,部分网友反映build.xml文件设置有问题,之前版本的blog的确是没有贴出来具体的build设置,此次更新已经给出参考配置

     

    注意:大家有什么问题的,可以加群一起聊,或者评论留言

     

    搭建环境(此篇blog编写时候的搭建环境,目前云盘已经上传JDK、Ant、Jmeter、Jenkin最近版本):

    JDK:jdk1.7.0_79

    Ant:apache-ant-1.9.7

    Jmeter: apache-jmeter-2.13

    Jenkins: jenkins-1.651.1

    以上安装包以及相关工具,jmeter常用插件下载地址:

    http://pan.baidu.com/s/1pKWPi5d

     

    1. JDK安装:
      1. 双击JDK安装包,选择安装路径(为了节省C盘系统盘空间,不建议选择默认路径。本人所有相关软件全部安装在 D:\Progrom Files目录下,例如Jdk安装在D:\Progrom Files\Java\jdk1.7.0_79路径下);

      1. 配置JDK环境变量:

    1)系统变量→新建 JAVA_HOME 变量 。

    变量值填写jdk的安装目录(本人是 D:\Progrom Files\Java\jdk1.7.0_79);

     

    2)系统变量→寻找 Path 变量→编辑

    在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

    (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

     

    3)系统变量→新建 CLASSPATH 变量

    变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)

    系统变量配置完毕

     

    4)检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)

    若如图所示 显示版本信息 则说明安装和配置成功。

     

    1. Jmeter安装:
      1. 解压apache-jmeter-2.13.zip到D:\Progrom Files目录下。

      2. Jmeter插件的安装。解压JMeterPlugins-Extras-1.3.0.zip、JMeterPlugins-Standard-1.3.0.zip,将对应ext目录下的文件拷贝到D:\Progrom Files\apache-jmeter-2.13\lib\ext目录下;

      3. 配置jmeter环境变量:

      1) 设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:D:\Progrom Files\apache-jmeter-2.13,点击确定即可。

      2) 在环境变量CLASSPATH中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;

      在环境变量Path中添加%JMETER_HOME%\bin
      3) 检验是否配置成功 运行cmd 输入 jmeter -v (jmeter和 -v 之间有空格)

      若如图所示 显示版本信息 则说明安装和配置成功。

    2. 安装Ant
      1. 解压apache-ant-1.9.7-bin.zip到D:\Progrom Files目录下;

      2. 配置Ant环境变量
        1. 新建以下环境变量:

          ANT_HOME:D:\Progrom Files\apache-ant-1.9.7,此为你的ANT安装路径;

          设置完成后,点击"确认"来保存。

        2. 在环境变量PATH的最后面添加一下内容:

          ;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除。

        3. 进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了.
      3. 本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告;
        1. jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
        2. 将apache-jmeter-2.13\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.7\lib目录下;
        3. 在\apache-jmeter-2.13\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-2.13\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件。

          若构建失败,请分析cmd打印的日志消息,定位问题;

        4. build文件推荐设置:

        5.  

          <!-- 这个是推荐build,至于原理,大家可以查看ant-jmeter-1.1.1.jar源码 -->  
          
          
          
           

           

        6. <?xml version="1.0" encoding="UTF-8"?>
          
          <project name="ant-jmeter-test" default="run" basedir=".">
              
          	<tstamp>
                  <format property="time" pattern="yyyyMMddhhmm" />
              </tstamp>
          	<property name="basedirectory" value="D:\Program Files\apache-jmeter-3.1\extras" />
              <!-- 需要改成自己本地的 Jmeter 目录-->  
              <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.1" />
              <!-- jmeter生成jtl格式的结果报告的路径--> 
              <property name="jmeter.result.jtl.dir" value="${basedirectory}" />
              <!-- jmeter生成html格式的结果报告的路径-->
              <property name="jmeter.result.html.dir" value="${basedirectory}" />
          	<!-- Name of test (without .jmx) -->
          	<property name="test" value="Test"/>
              <!-- 生成的报告的前缀-->  
              <property name="ReportName" value="TestReport" />
              <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />
              <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />
              
              <path id="xslt.classpath">
                  <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
                  <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
              </path>
              
              <target name="run">
                  <antcall target="test" />
                  <antcall target="report" />
              </target>
              
              <target name="test">
                  <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
              
              <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
                       <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
                      <testplans dir="${basedirectory}" includes="${test}.jmx" />
                  </jmeter>
              </target>
                  
              <target name="report">
                  <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
                  <xslt classpathref="xslt.classpath"
                        force="true"
                        in="${jmeter.result.jtlName}"
                        out="${jmeter.result.htmlName}"
                        style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
                        <param name="dateReport" expression="${report.datestamp}"/>
                  </xslt>
                  <copy todir="${jmeter.result.html.dir}">
                      <fileset dir="${jmeter.home}/extras">
                          <include name="collapse.png" />
                          <include name="expand.png" />
                      </fileset>
                  </copy>
              </target>
          	
          </project>
    3. 安装Jenkins:
      1. 本人安装的是jenkins-1.651.1.msi安装版,也可自行选择安装Jenkins其他版本;
      2. 双击jenkins.msi启动安装,安装目录选择D:\Progrom Files\Jenkins,然后启动成功。
      3. Jenkins服务默认端口为8080,如与其他服务冲突,可在..\Jenkins\jenkins.xml中修改默认端口,如我这里修改为--httpPort=7033;

      4. Jenkins服务默认是自动启动的,如果想修改为手动启动,请自行管理->服务,找到Jenkins服务,修改为手动启动即可。

      5. 打开Jenkins,首次进入会默认让你选择安装插件(此处如果完全不清楚自己需要什么插件,建议全选)。插件安装完成之后,需要设置登录用户,按照自己喜好设置即可。
      6. 进入Jenkins主页:

      1. 系统设置->管理插件->可选插件,搜索Performance plugin(Jmeter报告需要),安装此插件;

      2. Jenkins设置Ant的环境变量:
        1. 系统设置->Global Tool Configuration,找到ant,新增Ant,输入Ant的Name,安装路径;

      3. Jenkins设置邮件:
        1. 按照如图所示设置即可,本处设置的是QQ企业邮箱的服务,其他邮箱按照类似设置即可。

        1. 测试邮件发送成功之后,Extended E-mail Notification参照上面的设置即可。(注意:必须配置,否则后期项目构建发送邮件将失败)

           

      4. 配置测试项目
        1. 新建测试项目(接口测试) :

          在Jenkins首页左边 点击新建 -> 选择"构建一个自由风格的软件项目",输入Item名称(中英文不限,建议使用英文) –> 点击OK,进入你新建的测试项目的配置页面;

        2. 项目配置步骤1:

          a、描述:用于编写该项目的介绍(请忽略);

          b、丢弃旧的构建:这里勾选上,为了避免多余的构建日志、临时文件占磁盘空间,需要定期的清除过期文件。例如这里选择保存3天之内的构建文件,最大保存N个构建项目的文件;

          具体设置如下图所示:

        3. 项目配置步骤2:
          1. 配置工作空间:

            点击高级项目选项右侧的高级 -> 勾选使用自定义的工作空间;

            目录填写你的Jmeter安装目录\extras即可。说明:比如上面步骤中,大家的jmeter安装目录为D:\Progrom Files\apache-jmeter-2.13,则此处填写D:\Progrom Files\apache-jmeter-2.13\extras;

             

            (说明:设置工作目录主要是ant构建时用到了该目录下的build.xml文件,以及的的jmx脚本文件、jtl文件、html文件存放在此处; 准确的来说,此工作目录与jmeter没有任何关系,只是初学为了避免干扰,这里直接将工作空间与jmeter直接联系在了一起。)

        4. 项目配置步骤3:
          1. 源码管理,这里不涉及,选择none;
          2. 构建触发器:选择此项目构建的触发条件,例如本项目的是为了实现接口的定时监控,于是选择Build periodically(定期构建)。

            注意:关于定期构建参数的说明:"* * * * *",总共有5个参数,分别代表分(0~59)、时(0~23)、天(1~31)、月(1~12)、周(0~7,0和7表示星期天);

          3. 构建 -> 增加构建操作 -> Execute Windows batch command ;

            此处编写删除jtl文件的命令(因为Jmeter运行jmx脚本文件,生成jtl报告文件。如果存在同名的jtl文件,并不会覆盖,而是追加,所以每次构建运行jmeter脚本文件之前需要删除jtl文件):

            del "D:\Progrom Files\Jenkins\jobs\apache-jmeter-2.13\extras"\***.jtl

           

        5. 项目配置步骤4:

          Invoke Ant配置

          1. Ant Version 选择之前在jenkins设置的ant;
          2. Properties 填写test=***,此处***为你的jmeter 文件名字(不带.jmx)。

            说明:此处test=***的原因,可以查看工作目录extras下的build.xml文件中有这样的一段代码:<property name="test" value="Test"/>,test变量的默认值是Test,我们Properties就是为了给build.xml文件的变量重新赋值的。建议自行了解build.xml文件的结构;

        6. 项目配置步骤5:
          1. 新增构建后操作Archive the artifacts,add a New report(JMeter),

            填写用于存档的文件"**/+++.html",这里+++与你的jmx文件名一致;

            填写Report files: **/---.jtl,这里---与你的jmx文件名一致;

             

          1. 新增构建后操作E-mail Notification

          1. 新增构建后操作Editable Email Notification,如图

          然后选择 -> Advanced Settings... ,出现Triggers,这里我们可以根据需要增加Triggers。例如本人增加了Failure – Still(持续失败)的情况下邮件报警;

          Recipient List :收件人的邮箱,用";"间隔

          SubJect:邮件标题

          Content: 邮件内容,可以按照HTML格式编写。

          如图所示

     

    到这里整套环境就搭建完成了,可以自行构建测试是否达到预期;

     

    展开全文
  • 摘要上一次搞定了appium+python+jenkins的自动化集成,但是感觉对于jenkins的集成还是有很多不太理解的地方,所以今天抽空研究了下使用testNg+maven+selenium+jenkins的自动化集成。正文准备环境 首先我们新建一个...

    摘要


    上一次搞定了appium+python+jenkins的自动化集成,但是感觉对于jenkins的集成还是有很多不太理解的地方,所以今天抽空研究了下使用testNg+maven+selenium+jenkins的自动化集成。

    正文


    准备环境

    1. 首先我们新建一个maven的工程,并且在pom.xml中配置好我们依赖的一些jar包
    <dependencies>
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>2.46.0</version>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>6.9.6</version>
            </dependency>
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-api</artifactId>
                <version>2.46.0</version>
            </dependency>
    
    
        </dependencies>
    1. 编写我们selenium脚本
    public class NewTest {
    
        private WebDriver driver;
    
    
    
        @BeforeTest
        public void beforeTest(){
            driver = new FirefoxDriver();
            driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
            driver.manage().window().maximize();
            driver.get("http://www.baidu.com");
        }
    
        @AfterTest
        public void afterTest(){
            driver.quit();
        }
    
        @Test
        public void f()
        {
            System.out.println("heloo");
            By inputBox = By.id("kw");
            By searchButton = By.id("su");
    
            //智能等待元素加载出来
            intelligentWait(driver, 10, inputBox);
            //智能等待元素加载出来
            intelligentWait(driver, 10, searchButton);
            driver.findElement(inputBox).sendKeys("中国");
            driver.findElement(searchButton).click();
    
        }
    
    
        /**这是智能等待元素加载的方法*/
        public void intelligentWait(WebDriver driver,int timeOut, final By by) {
            try {
                (new WebDriverWait(driver, timeOut)).until(new ExpectedCondition<Boolean>() {
                    public Boolean apply(WebDriver driver) {
                        WebElement element = driver.findElement(by);
                        return element.isDisplayed();
                    }
                });
    
    
            } catch (TimeoutException e) {
            Assert.fail("超时L !! " + timeOut + " 秒之后还没找到元素 [" + by + "]", e);
            }
        }
    }
    1. 再来还要配置下我们的testng.xml文件
    <?xml version="1.0" encoding="UTF-8"?>
    <suite name="Suite" parallel="false">
        <test name="Test">
    
            <classes>
                <class name="com.saii.NewTest">
                    <methods>
                        <include name="f" />
                    </methods>
                </class>
            </classes>
        </test>
    </suite>
    1. 工程配置已经结束了,我们来进行jenkins的一些配置吧。进入jenkins的系统配置
      配置全局属性的键值对
      全局属性
      这个地方一定要配置,因为如果不配置成utf-8的话,jenkins从git上拉下来的文件编码格式不是utf-8的格式,这样子就会导致文件中的一些中文直接变成了乱码,到时候直接影响到脚本的运行
      进行maven的项目配置
      这里写图片描述
      这里是配置maven的编码以及防止oom还有是maven的本地仓库以及maven的安装地址
    2. 新建一个projce后,在构建中新建一个构建步骤 invoke-top-level Maven targets
      这里写图片描述
      这里只需要配置正确pom就可以了。
    3. 运行结果
      这里写图片描述

      OK 运行成功

    展开全文
  • 分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!... 本文只简单标记下大概的...Jenkins可以帮你构建一个自动化的持续集成环境,你可以使用它来“自动化”...

    分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程

    本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索。第一、二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分。

    一、关于Jenkins

    Jenkins简介

    Jenkins可以帮你构建一个自动化的持续集成环境,你可以使用它来“自动化”编译、打包、分发部署你的应用,它兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。

    Jenkins安装

    Jenkins的安装十分简单,你可以从官网http://mirrors.jenkins-ci.org/war/latest/ 直接下载war包,使用java -jar jenkins.war,或者放到Tomcat类似的容器里运行都可以(JDK版本建议使用1.6以上来运行)。Jenkins默认启动端口是8080,请注意端口占用。另外,Jenkins文件其实都在~/.jenkins目录下,运行过程中你可以在这里找到你运行过的job和相应的日志文件。

    首次安装,可以把插件都安装上,自己都试试看。如果因为网络原因,插件下载失败的,可以从失败详情中把地址拷出来,下载后,以上传hpi文件的方式安装。

    系统设置

    安装完成的第一步,先到Blobal Tool Configuration中配置相关的环境,如JDK、MAVEN、GIT等,相应的路径设置都是设置Jenkins这台机子本地的目录。建议把所有的配置都完善下,否则日后的运行中可能会出现一些小问题,可以试下点击?查看帮助,还是很有用的。

    Jenkins集群配置

    集群配置也十分简单,就是添加slave节点的过程。点击系统管理->管理节点->新建节点,各个配置后面都有详细的帮助说明的。在启动方法这里推荐使用 Launch slave agents on UNIX machines via SSH,这样master节点会主动使用SSH登陆到slave节点上,并运行java -jar slave.jar,这样一个slave节点就添加完成了。

    构建Job

    其实到这一步,就是jenkins的常规流程了,你可以参照创建Job选项的界面的各个配置,制定你构建计划,或者我们直接使用脚本来完成我们的构建操作(建议)选择构建Execute shell,文章末尾会附上一个完整项目的shell构建流程。

    Pipeline

    Pipeline字面意思就是流水线,很好用的Jenkins的一个插件,将很多步骤按顺序排列好,做完一个执行下一个。真实的工作环境有很多job,比如先编译,然后执行静态代码检查、单元测试、然后部署服务器、服务器重启、进行ui测试等。我们需要对这些job进行一些设置将它们的上下游关系配置好。

    这时候Pipeline就派上用场了。在Jenkins主页点击新建视图,然后选择Build Pipeline View,然后填写Select Initial Job,构建后的操作可以选择其他的Job,以此类推,这样一个流水线就完成了。Pipeline提供视图界面,你可以在视图上形象地看到整个构建计划的执行流程和完成度。

    二、关于Docker

    Docker 简介

    Docker现在是Github社区最火的项目之一,Docker是个容器,或许你听过lxc,你可能知道Tomcat这个Web容器,容器是什么概念,意会就好。问个问题,你想在一台机子上运行一个java6的应用,又想运行一个java8应用怎么办;或者说你开发出一个软件,mac版、windows版本,我都想运行,怎么办?装虚拟机?不不不,虚拟机太浪费资源了,Docker这时候就派上用场了,在电脑上,你可以同时装一个mac的容器和windows的容器哦。一个虚拟机可能会消耗2到3G的内存,一个容器仅仅只消耗几百M的资源哦。

    Docker 安装

    具体安装细节,可以参照https://docs.docker.com,文档说得很清楚了。 Docker原本是开发在Linux上的,Windows下是采用Docker machine的方式,起一个虚拟机在虚拟机里面跑Docker。本来呢Mac也是采用虚拟机的方式,后来有了Docker for mac,采用HyperKit,一种更轻量级的虚拟化方式。当然,你还是可以用Docker machine的方式运行。

    Docker 基础

    搞清楚两个概念,容器与镜像。打个比方吧。装机,容器就是装完成后的系统,镜像就是ISO安装盘,系统镜像。

    作为一个合格的程序员,你一定用过Git的吧,pull,commit,push……写代码过程就是这样,先拉取代码pull,然后是在一个基础的文本上不断地增加commit,加积木一样,一层层叠加,累积上去,最后再push上去。没错Docker就是采用这种形式。

    简单介绍下Docker命令:

    • Docker version / Docker info 查看基本信息,遇到使用问题或者BUG,可以到社区里报告,记得带着这些信息哈。

    • Docker pull 拉取镜像。

    • Docker run 从镜像创建一个容器并运行指定的命令常用参数-i -d,建议用—-name命名这个容器,命名后可以使用容器名访问这个容器。

    • Docker attach(不推荐使用)。

    • Docker exec -ti CONTAINER /bin/bash 连接到容器上运行bash

    • Docker logs CONTAINER 查看日志,如run命令后的运行结果,Docker logs -f 查看实时的日志。

    • Docker kill 杀死Docker容器进程,你可以使用Docker kill $(Docker ps -aq)杀死所有的Docker进程,后者打印出所有的容器的容器id(包括正在运行的,和没有运行的)。

    • Docker rm CONTAINER 删除一个容器,记得要先停止正在运行的容器,再去删除它。

    • Docker exec -it <container_id> bash -c 'cat > /path/to/container/file' < /path/to/host/file/容器外向容器内复制文件(也可以用挂载的形式哦)。

    • Docker commit -a “mike” -m “镜像的一些改动” CONTAINER 当你在容器内做了某种操作后,如增加了一个文件,你可以用这个命令把修改提交,重新打包为镜像。

    • Docker push 推送镜像。。到这里是不是觉得跟Git的模式已经有点像了呢。

    • Docker history IMAGES 查看镜像的修改历史。

    • Docker ps -a | grep "Exited" | awk '{print $1 }'| xargs Docker rm 删除exited的容器。

    • Docker rmi $(Docker images | awk '/^<none>/ {print $3}') 删除tag为NONE的容器。

    Dockerfile基础

    Dokcerfile,是的,你还是要稍微掌握下Dockerfile的写法。

    • From 每个Dockerfile镜像的构建都会基于一个基础镜像,这是你一来的基础镜像name:tag,git。

    • MAINTAINER (不用记,作者签名)。

    • ENV 配置环境变量。

    • COPY 复制本地。

    • EXPOSE 暴露容器的端口。

    • WORKDIR 后续命令的执行路径。

    • RUN important!,执行相应的命令,这一步是在容器构建这一步中执行的命令,一般用作安装软件,操作的结果是持久化在容器里面保存下来的。

      Tips:每次执行RUN的时候都是再默认路径执行的,如果要到固定路径下执行命令请在之前加WORKDIR,或者使用RUN (cd workpath && echo "mike")这样把cd命令跟相应的执行命令用括号括起来。

    • ENTRYPOINT 容器启动后执行的命令。

    三、Jenkins+Docker自动化集成环境搭建

    这一步,我们把Jenkins和Docker结合起来。Jenkins本身版本比较老,虽然插件多,但许多插件没有人在维护更新,环境本身还是比较旧的,且各式各样的工程如果都用插件来安装,这样的插件不一定满足要求,所以建议配合Docker来搭建测试环境。

    如果说好处的话,还有比较激进的一段话(建议略过哈):

    我们把一个工程代码开发后的测试流程简单分为编译、部署(事实上可能更多,如项目代码有多个工程,工程间有相互依赖)。如果我们想在一个slave节点上既运行Java7应用,又运行Java8应用,哦,Jenkins有相应的插件解决?那如果是NodeJs4应用和NodeJs5应用呢?JAVA升级到9了,插件没更新?像一些复杂的工程,如JDK自身的编译、如Docker项目的编译,我需要安装各种依赖,就可能会污染全局空间,这时候就建议把编译过程放到容器里,或者说我要在Linux上编译部署一个Windows应用,在一个Windows容器里部署就可以了。

    再比如,如果我们用omad部署web应用可能要考虑端口冲突,部在Docker容器里,工程代码的端口,都不用变。还有,容器作测试环境的话,如果要保证线上,线下环境一致,甚至可以复制一个线下容器,直接在线上跑容器的。还有......

    大致的想法是,我们用Jenkins来做节点控制、版本管理、流程设置、触发Job,用Docker来搭建编译部署环境。把这一切连接起来的就是流程脚本和Dockerfile的编写。

    实现细节可以参照下面的示例。

    触发条件:由Jenkins控制,如设置定时执行,或者github中的每一个commit,或者每一个PR执行一次。

    构建流程:各个环节,Job,之间用Pipeline来实现整个构建流程的控制。

    构建Job:这里,我觉得可以分为两种情况,一种是把拉取代码的过程和构建编译环境的过程都放到Dockfile里面,这适用于比较复杂的编译环境,如Docker本身的编译需要安装许多的依赖,对依赖的版本都有不同的要求,还是建议把编译环境放在容器的里面。另一种情况,为求省事方便,如java工程,编译一般用maven等构建工具来完成的话,大可以放在外面,只是把运行环境搬到Docker容器里。

    Execute shell:

    从零开始搭建Jenkins+Docker自动化集成环境

    从零开始搭建Jenkins+Docker自动化集成环境

    Dockerfile:

    配置基础运行环境。

    如果需要编译,配置编译环境,可以在容器内拉取代码,执行编译。

    web应用暴露端口。

    配置应用启动命令。

    从零开始搭建Jenkins+Docker自动化集成环境

    从零开始搭建Jenkins+Docker自动化集成环境

    另外,容器里你都可以配置成8080端口,暴露8080端口,只要再Docker run -p *:8080,运行时改下相应的端口映射就可以了。

    展开全文
  • android自动化集成友盟分享的坑

    千次阅读 2018-06-27 14:49:50
    参考:Android中友盟第三方登录与分享自动集成的那些坑
    展开全文
  • Jenkins+Docker+gitlab自动化集成环境

    千次阅读 2018-07-24 15:50:44
    随着DevOps理念和敏捷理念的发展,我们希望通过自动化技术,加快项目的迭代。尤其是当使用微服务方案后,面临在大量的项目构建和部署工作,借助于jenkins的持续集成,可以快速把应用打包成docker镜像,实现自...
  • 于是旧查看有没有什么集成测试或是自动化测试的工具,能够减少每次测试使用的时间。好了废话不多说,没有一个完成的newman安装教程,害我搞了几天,今天才终于把newman成功安装上了。 安装所需: 1.python 环境 安
  • 目录 一、jmeter报告仪表板相关信息 二、文件修改说明 三、jmeter.properties文件配置 四、user.properties文件配置 五、新建jtl报告目录 ...十、Jenkins自动化构建 一、jmeter报告仪表板相关信息...
  • 本文只简单标记下大概的步骤,具体搭建各个部分的...Jenkins可以帮你构建一个自动化的持续集成环境,你可以使用它来“自动化”编译、打包、分发部署你的应用,它兼容ant、maven、gradle等多种第三方构建工具,同时跟s
  • 为了前端项目的工程化,减少项目发布环境的部署,实现自动化集成打包部署。 本文是针对前端项目和gitlab仓库代码,简述jenkins实现自动化部署的配置流程。 jenkins环境的搭建 1、java环境的配置。 ...
  • postman做接口测试简单易用很容易上手,但是接口越来越多,每次手动点击runner进行测试不灵活,最近就研究了下newman,利用newman实现接口的自动化测试,但是每次需要命令行操作也不方便,就想着利用Jenkins做真正的...
  • 今天拿手头一个 GitHub 项目实验了一下在线的集成服务,前后试用了 TravisCI, CircleCI 和 AppVeyor。由于测试工程内包含了一些使用了 WPF 的 C# 代码,前面两个跑在 Linux/Mono 上不是很友好,而 AppVeyor 的...
  • 前面我已经写过不需要编译的PHP代码的项目创建,这里写一下我自动编译打包前端html代码的项目创建。 事先工作: 1.安装nodejs Plugin 搜索 nodejs 建议选择不是很新的但也不要太旧的NodeJs版本 新建...
  • (1)Jenkins+maven/ant+git搭建项目自动化部署集成环境:安装git; (2)Jenkins+maven/ant+SVN搭建项目自动化部署集成环境:安装SVN。 (二)git的安装参考我的另一博文: (1)Jenkins部署在Windows系统...
  • jenkins自动化测试集成

    2015-11-09 09:19:42
    看了好多jenkins自动化测试的配置,都是说在构建的时候执行测试用例,可是构建的时候,连服务都没有怎么可能测试成功啊? 我认为的过程应该是:1.提交代码;2.构建编译;3.自动部署(还有这块自动部署都是到容器里,...
  • 自动化运维持续集成

    千次阅读 2018-07-03 02:46:03
    它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。讨论关注以下几点: 持续集成概念的理解。 了解持续交付和持续部署。 熟悉持续集成操作流程。 ...
  • 喵喵说自动化持续集成

    千次阅读 2008-01-03 23:13:00
    首先说明,喵喵很笨,所以这篇文章借鉴了很多牛X人物的观点,如有雷同,请大家原谅~~ 从12月初入职开始,差不多3个多星期,一直在做这件事情,即使用CruiseControl,ant和ClearCase来进行自动化集成。也算是看了很多...
  • 微服务下的持续集成-Jenkins自动化部署GitHub项目

    千次阅读 多人点赞 2020-11-19 22:56:14
    文章目录一、DevOps概念二、为什么要做持续集成三、常见云服务四、手动部署Jenkins五、Jenkins + Maven +Git 自动化继承/测试 一、DevOps概念 持续集成服务(Continuous Integration,简称 CI) 它绑定 Github 上面...
  • jenkins持续集成接口自动化测试

    千次阅读 2019-08-16 10:29:57
    jenkins持续集成接口自动化测试整体CI思路在linux服务器上搭建jenkins准备工作安装java环境安装git环境安装maven环境安装tomcat最后一步,安装jenkins创建一个自动化测试的任务添加构建脚本 在上一篇文章中已经安装...
  • 2018年3月22日,享有“物流界奥斯卡”之称的2018中国物流技术奖落幕一个月后,2018年5月,美国权威物料搬运领域杂志《MMH》公布了2017年全球自动化系统集成商20强榜单。 据资料显示,能符合全球自动化系统集成的20...
  • 自动化集成测试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及具体实践,我们都知道,自动化测试是持续集成必不可少的一部分,基本上,没有自动化测试的持续集成,都很难称之为真正的持续集成。...
  • Jenkins集成TestNG Junit自动化测试

    万次阅读 2017-08-18 16:10:17
    自动化测试是Jenkins持续集成和部署的又一核心价值体现,我们先来做一个基于Junit 的 TestNG 测试。我们的实现步骤是:1、在Jenkins上安装xUnit插件;2、在Eclipse上安装TestNG插件;3、编写Junit测试及TestNG.xml...
  • Airtest自动化实践持续集成

    千次阅读 2018-09-19 15:05:16
    做好心理准备,这是一篇长文,哈哈。。。 看到网上有比较完善的资料了,主要介绍的是安卓应用的使用,那么我这边就以iOS系统来给大家...AirtestIDE 是一个跨平台的UI自动化测试编辑器,适用于游戏和App。 ⭐️自动...
  • 任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式。Automating shapes smarter future. ...了解 flow.ciflow.ci 是融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、
  • Jenkins自动化构建集成(二)

    万次阅读 2017-03-14 19:42:54
    Jenkins配置版本类型、打包渠道jenkins需要使用新版,老版本无这个新功能,搭建的时候注意Jenkins版本jenkins环境部署构建,参考Jenkins自动化构建集成(一) 参数化构建过程必须勾选上 gradle执行任务配置clean ...
  • 高效程序员的习惯之一——让开发流程自动化。Automating shapes smarter future. ...了解 flow.ciflow.ci 是融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测
  • 自动化持续集成环境Jenkins详解

    千次阅读 2018-02-05 17:20:44
    例如在自动化测试中,开发了自动化测试的脚本,不可能一直用IDE来运行,然后查看测试结果,这个时候我们就需要借助一个平台,可以自动获取最新代码,编译并构建,并且是在设置的时间持续执行,自动化完成这些步骤...
  • 自动化集成测试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及具体实践,我们都知道,自动化测试是持续集成必不可少的一部分,基本上,没有自动化测试的持续集成,都很难称之为真正的持续集成。...
  • 官网标识:在yapi上进行接口自动化测试,需要准本号测试用例集合后点击右上角的“服务端测试”生成url 步骤1:点开需要进行自动化测试的内容,如图所示点击:服务端测试 步骤2:点击以后会生成如下一个url url的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 505,347
精华内容 202,138
关键字:

自动化集成