在不同的服务器上使用jenkins、jmeter和sonarqube创建CICD管道

9fkzdhlc  于 2022-11-09  发布在  Jenkins
关注(0)|答案(1)|浏览(184)

我的雇主为我提供了3个不同的RHEL服务器,每个服务器分别安装了Jenkins、Jmeter和Sonarqube。我必须创建一个集成所有这些组件的CICD管道。有人能为我指出正确的方向,我应该如何去做吗?这是我第一次使用Jenkins管道,所以,如果之前已经有人问过,请道歉。

bfrts1fy

bfrts1fy1#

1.首先,熟悉Jenkins Distributed Builds,可以通过SSH、JNLP或WebSocket将所谓的“构建代理”连接到Jenkins,以便在构建代理上调用JMeter Master上触发的作业,并通过网络返回状态和结果

  1. JMeter是一个纯Java应用程序,它可以作为命令行应用程序sh pipeline step执行,因此它类似于:
stage('Run JMeter test') {
    steps {
        sh './path/to/your/jmeter/bin/jmeter.sh -t /path/to/your/testplan.jmx -f -l result.jtl'
    }
}

如果您希望使用Performance Plugin在构建 Jmeter 板上创建性能趋势图表,并在未满足SLA时将构建标记为不稳定或失败,您也可以为此添加一个阶段:

stage('Performance Report') {
    steps {
        perfReport filterRegex: '', showTrendGraphs: true, sourceDataFiles: '**/*.jtl'
    }
}

1.对于Sonarqube,可能的选项太多,请查看SonarScanner for Jenkins页面并选择与您的项目/语言相匹配的选项

stage('SonarQube') {
  def scannerHome = tool 'SonarScanner 4.0';
  withSonarQubeEnv('My SonarQube Server') { 
    sh "${scannerHome}/bin/sonar-scanner"
}

相关问题