DevOpsチームはジェンキンスでテストパイプラインの統合のJMeterを使用します

統合のいかなるテストは、完全に統合され、それに統合さJMeterの検出モジュールを入れて、少しを伝えるために、この週がテストされません、大まかなアイデアを見ています:

  1. ローカルJMeterはでジェンキンス-スレーブにマウント
  2. 実行JMeterの検出を行うためには、
  3. 報告書は、ディスプレイ・サーバのnginxの、使用して、ローカルに保存されている(ここではレポートの出力がもつれてきたが、最終的な決定は、nginxのでたむろしてローカルに保存されます)

様々なシステムの命名規則と組み合わせる:主の名前と呼ばれるまずgirlabプロジェクトを、そしてgitlabと+接尾JMX(文字の単語で始まるgitlabのプロジェクト名は、ダッシュで長い名前を使用することができるという名前のテストプロジェクトをビルドするために頼ま - 使用することはできません下線やその他の文字)

 stage('jmeter test'){
          sh "cd eureka "
          sh "ls -alt /usr/local/jmeter51/report"
          checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'fb1ea0bb-ff11-449d-bf11-32f687453930', url: 'http://192.168.11.114/root/jmeter-jmx.git']]])
          sh "mkdir -p /usr/local/jmeter51/report/${env.JOB_NAME}/${env.BUILD_NUMBER}"
          sh "${jmeter} -n -t ${env.JOB_NAME}.jmx -l /usr/local/jmeter51/report/${env.JOB_NAME}/${env.BUILD_NUMBER}/test.jtl -e -o /usr/local/jmeter51/report/${env.JOB_NAME}/${env.BUILD_NUMBER}/test"
      }     

すべてのモジュールにジェンキンスパイプラインを使用して自動テストを追加すると、直接使用することができ

podTemplate(label: 'jnlp-slave', cloud: 'kubernetes', containers: [
    containerTemplate(
        name: 'jnlp', 
        image: '192.168.111.118:82/library/jenkins-slave:latest', 
        alwaysPullImage: true 
    ),
  ],
  volumes: [
    hostPathVolume(mountPath: '/usr/local/jdk', hostPath: '/usr/local/jdk'),
    nfsVolume(mountPath: '/usr/local/jmeter51', readOnly: false, serverAddress: '192.168.111.118', serverPath: '/usr/local/jmeter51'),
  ],
  imagePullSecrets: ['registry-key'],
) 
{
 node("jnlp-slave"){
      def bearychat_url = "https://hook.bearychat.com/=bwGGG/jenkins/4f85769324a1b6ec7a32266819cf2e64"
      def mvn_com = "/usr/local/maven/bin/mvn"
      def jmeter = "/usr/local/jmeter51/bin/jmeter"
      def jmeter_re = "/usr/local/jmeter51/report/"
     stage('Git Checkout'){
         checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'fb1ea0bb-ff11-449d-bf11-32f687453930', url: 'http://192.168.11.114/root/jmeter-jmx.git']]])
       }

      stage('jmeter test'){
              
                 out = sh(script: "ls *.jmx ", returnStdout: true).toString().trim()
                 size = out.size()
                 println "${out}"
                 str5 = out.split()
                 for (int i = 0;i < str5.size();++i){
                       sh  "mkdir -p ${jmeter_re}all-${env.BUILD_NUMBER}/${str5[i]}/"
                       sh "${jmeter} -n -t ${str5[i]} -l ${jmeter_re}all-${env.BUILD_NUMBER}/${str5[i]}.jtl  -e -o ${jmeter_re}all-${env.BUILD_NUMBER}/${str5[i]}/test " 
                    }
                 
          
      }     
   }
}

ます。https://www.jianshu.com/p/381b6393f017で再現

おすすめ

転載: blog.csdn.net/weixin_34061555/article/details/91212933