如何将加特林与詹金斯融为一体

时间:2016-08-01 09:15:45

标签: jenkins gatling

我想使用gatling进行负载测试,将其与jenkins集成。任何人都可以为我提供一步一步的方法。我对使用maven和sbt知之甚少。

4 个答案:

答案 0 :(得分:0)

我刚刚在Gatling和travis之间编写了一个简单的集成,我正在使用现有的插件进行收集,如果你有兴趣的话可以看看https://github.com/enriquezrene/gatling-tutorial

答案 1 :(得分:0)

我用maven运行了gatling项目,然后它可以与jenkins集成。 请仔细阅读以下链接

http://gatling.io/docs/2.2.2/extensions/maven_plugin.html

https://github.com/gatling/gatling-maven-plugin-demo

答案 2 :(得分:0)

我看到你已经找到了自己的方式,但是对于那些仍在寻找更详细教程的人来说,我会回答一小步。

要整合加特林和詹金斯,你可能想要实现两件事。

首先,为了能够通过一个shell命令运行测试(只要你可以通过shell命令运行测试,你就不需要其他任何东西来运行性能程序)。是的,你是对的。 Gatling maven插件非常适合这些需求。您只需按照以下链接示例: https://github.com/gatling/gatling-maven-plugin-demo

其次,在Jenkins本身对构建结果有一些可见性总是更好。只要将性能测试作为持续交付/部署管道的一个步骤,就可以更好地提供指标趋势的可见性。为此,您可以从此页面开始: https://plugins.jenkins.io/gatling。 Jenkins插件可以在Jenkins CI中为您提供更好的Gatling测试结果可见性。

顺便说一下,我们正在开始一系列专门用于加特林使用的帖子,我们将逐步发布关于如何使用Gatling作为持续集成管道的步骤的教程,敬请期待! https://www.blazemeter.com/gatling

答案 3 :(得分:0)

我认为这个问题非常重要且相关,因此尽管OP已经找到了解决方案,但我正在写详细的答案。我有通过Git将Gatling-Maven项目与Jenkins集成的经验,所以我将采用这种组合。

从命令行运行加特林项目

该项目需要能够使用某些构建工具(在本例中为Maven)从终端运行。 Gatling Maven plugin是适用于此的工具。要导入它,请在您的pom.xml中包含以下代码段:

<plugins>
  <plugin>
    <groupId>io.gatling</groupId>
    <artifactId>gatling-maven-plugin</artifactId>
    <version>MANUALLY_REPLACE_WITH_LATEST_VERSION</version>
    <configuration>
      <simulationClass>MANUALLY_REPLACE_WITH_YOUR_SIMULATION_CLASS</simulationClass>
    </configuration>
  </plugin>
</plugins>

注释1 gatling-charts-highcharts依赖项和gatling-maven-plugin插件的版本不必匹配。

注释2 :将simulationClass标记中的值替换为包声明中的模拟类(例如com.example.my.SimulationClass)。

完成此操作后,您应该能够使用以下命令从命令行运行项目:

mvn clean package
mvn gatling:test

或者,您可以使用Scala Maven plugin。在这种情况下,您需要运行主类(在其中构建您的Gatling属性)。

为您的Gatling-Maven项目创建Jenkins管道

我假设您已经安装了Jenkins Maven插件,并设置了Jenkins环境。请参阅this page,以了解有关插件部分的更多信息。

管道脚本

有三种方法可以定义Jenkins管道的功能:

  1. 通过Blue Ocean UI
  2. 通过经典的詹金斯UI
  3. 通过在项目中创建Jenkinsfile

我认为第三个选项是最实用的选项,因为这种方式将管道脚本提交给源代码控制。这使得它更加透明并且更易于维护。
请参见this page,以了解有关其他选项的更多信息。

因此,请在项目根目录中创建一个名称为Jenkinsfile且没有扩展名的文件。将此脚本粘贴到其中:

pipeline {
    agent any
    stages {
        stage("Maven build") {
            steps {
                sh 'mvn -B clean package'
            }
        }
        stage("Gatling run") {
            steps {
                sh 'mvn gatling:test'
            }
            post {
                always {
                    gatlingArchive()
                }
            }
        }
    }
}

提交该文件并将提交推送到远程存储库(如Github或Gitlab)中。这就是詹金斯将能够阅读Jenkinsfile的方式。

创建管道

要在Jenkins中创建管道作业,请转到Jenkins仪表板,然后单击左侧菜单栏顶部的“新建项目”。为作业命名,然后选择“管道”作为类型。点击确定。

在管道配置页面上,向下滚动到Pipeline标头,然后在Definition下拉列表中选择“来自SCM的管道脚本”。出现一个下拉列表以选择版本控制系统。选择Git。将您的存储库URL粘贴到相关字段(用于克隆存储库的字段)。您可以使用HTTP或SSH协议,但请注意相应地设置凭据。如果Jenkins无法访问存储库,将显示红色错误消息。 (可选)您可以设置要构建的分支(确保该分支上具有Jenkinsfile)。

设置完毕后,点击保存。

Gatling Jenkins插件

此时,Jenkins应该能够构建和运行项目,但是要查看报告,需要安装Gatling Jenkins plugin(这是在管道脚本中执行gatlingArchive()行的内容) 。它还提供了比较过去15个构建的结果的方法,这非常有用。

要安装此插件,请返回您的Jenkins仪表板,然后单击左侧菜单栏上的“管理Jenkins”。搜索Gatling并安装插件。当被询问时重新启动Jenkins。

使用Jenkins管道作业

转到新管道的仪表板页面。 (到目前为止,左侧菜单应包含“加特林”选项。)单击“构建”。构建完成后,单击左侧的“加特林”,然后向下滚动到页面底部。您可以通过单击链接打开加特林报告。随着越来越多的内部版本运行并添加到您的历史记录中,所有报告将在此处可用,并且图形将包含最近15个内部版本的数据。