在 CircleCI 中自动化 jmx 文件

Automating jmx files in CircleCI

我有几个使用 blazemeter 插件录制和下载的 jmx 文件。

我想知道

  1. 如何集成到 CircleCI?
  2. 如何将其设置为每天 运行?

非常感谢任何帮助。

  1. 添加 CircleCI 项目时,您有多种语言可供选择:

    我建议选择 Maven(Java) 作为 JMeter Maven Plugin is the easiest option for setting up and using out of other JMeter non-GUI execution options

  2. 按如下方式组织您的项目结构:

  3. 确保 config.yml 文件如下所示:

    # Java Maven CircleCI 2.0 configuration file
    #
    # Check https://circleci.com/docs/2.0/language-java/ for more details
    #
    version: 2
    jobs:
      build:
        docker:
          # specify the version you desire here
          - image: circleci/openjdk:8-jdk
    
          # Specify service dependencies here if necessary
          # CircleCI maintains a library of pre-built images
          # documented at https://circleci.com/docs/2.0/circleci-images/
          # - image: circleci/postgres:9.4
    
        working_directory: ~/repo
    
        environment:
          # Customize the JVM maximum heap limit
          MAVEN_OPTS: -Xmx3200m
    
        steps:
          - checkout
    
          # Download and cache dependencies
          - restore_cache:
              keys:
              - v1-dependencies-{{ checksum "pom.xml" }}
              # fallback to using the latest cache if no exact match is found
              - v1-dependencies-
    
          - run: mvn dependency:go-offline
    
          - save_cache:
              paths:
                - ~/.m2
              key: v1-dependencies-{{ checksum "pom.xml" }}
    
          # run tests!
          - run: mvn verify
    
          - store_artifacts:
              path: target/jmeter/reports
    
  4. 确保你的 pom.xml 看起来像:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.jmeter</groupId>
        <artifactId>maven</artifactId>
        <version>1.0-SNAPSHOT</version>
        <build>
            <plugins>
                <plugin>
                    <groupId>com.lazerycode.jmeter</groupId>
                    <artifactId>jmeter-maven-plugin</artifactId>
                    <version>2.8.0</version>
                    <executions>
                        <!-- Run JMeter tests -->
                        <execution>
                            <id>jmeter-tests</id>
                            <goals>
                                <goal>jmeter</goal>
                            </goals>
                        </execution>
                        <!-- Fail build on errors in test -->
                        <execution>
                            <id>jmeter-check-results</id>
                            <goals>
                                <goal>results</goal>
                            </goals>
                            <configuration>
                                <generateReports>true</generateReports>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>
    
    1. 就是这样,现在您的构建将在每次提交时触发:

  5. 您将能够在构建工件

    中看到HTML Reporting Dashboard

  6. Scheduling your builds is also possible via cron-类似表达式