小编use*_*718的帖子

如果阶段设置了构建失败/不稳定状态,如何从Jenkins管道退出?

我有一个声明詹金斯管道用stage1stage2stage3等。stage2如果stage1设置生成不稳定/失败,我想停止运行。

我知道我可以停止的步骤stage1使用运行return时版本是不是成功,但无法找到一种方法,我可以只退出管道不运行下面的阶段stage1

这是我所拥有的:

    stage('stage1') {
            steps {
                script{
                    //somesteps
                    if ("${stdout}" == "1"){
                    currentBuild.result = 'UNSTABLE'
                    return
                    } //if
                    //somesteps
            } //script
        } //steps
    } //stage

    // run only when stage1 is success
    stage('stage2'){
        when {
            expression { 
             params.name ==~ /x|y/
            }
        }
        steps {
            script{
                    //stage2 steps
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果params.name ==~ /z/将执行阶段3,则跳过阶段2

注意:我不能在stage1的stage2 / 3 / ..中包括这些步骤。应该是那样的。根据构建参数,stage2 / 3/4 ...将在stage1之后调用

groovy jenkins jenkins-groovy jenkins-pipeline

15
推荐指数
3
解决办法
2万
查看次数

如何在jmeter聚合报告命令行中打印95和99百分位数?

我试图从命令行在jmeter汇总报告中打印95 Percentile和99 Percentile响应时间为此,我尝试了这里提到的解决方案:Jmeter:通过commnd line生成聚合报告不包括95%和99%行在生成的报告中, 但没有奏效.我也尝试过编辑jmeter.properties文件.另外,我遇​​到的另一个解决方案是ResponseTimesPercentiles使用CMDRunner.jarcsv格式生成图形,但是它提供了0-99.9我不需要的所有值.那么有没有一种方法可以自定义csv文件以ReponseTimesPercentiles获得所需的值

还试过这个命令:

java -jarCMDRunner.jar --tool Reporter --generate-csv test.csv --input-jtl results.jtl --include-labels aggregate_report_99%_line --plugin-type AggregateReport

这没用.那么,有没有什么办法可以在汇总报告中生成95%和99%的百分位数

jmeter percentile jmeter-plugins

8
推荐指数
2
解决办法
5040
查看次数

在Jmeter中提取数组中的json

如何在Jmetername中从下面提取json对象json data

[
:   {
:   :   "name":"x",
:   :   "age":"50",
:   :   "gender":"Female"
:   }
]
Run Code Online (Sandbox Code Playgroud)

我正在$..nameJsonPath Extractor 中执行此操作,该提取器在我提取到的变量中提供了此信息

name=["x"]
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以不使用name=x数组格式

或者有什么方法可以只提取其中的x内容["x"]

谢谢

java regex json jmeter jsonpath

6
推荐指数
1
解决办法
2万
查看次数

检查进程是否正在运行,如果它已经在运行则退出

我有一个带有方法的shell脚本:

start(){
echo "Hello world"
}

stop(){
ps -ef|grep script.sh|grep -v grep|xargs kill
}

while [ "$1" != "" ]; do
case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        *)
            echo $"Usage: $0 {start|stop}"
            exit 1
        esac
   shift
done
Run Code Online (Sandbox Code Playgroud)

我正在使用以下命令运行此脚本:./script.sh start调用 start 方法。现在,我想检查此进程是否已在运行,如果已在运行则退出。我在网上尝试了一些解决方案,但没有任何效果。有人请帮忙。我尝试过的解决方案是:

if [ -f /var/tmp/script.lock ]; then
  echo "Already running. Exiting."
  exit 1
else
  touch /var/tmp/script.lock
fi
<main script code>
#some code
rm /var/tmp/script.lock
Run Code Online (Sandbox Code Playgroud)

另一种是:

PID=$(ps -ef | grep script.sh|grep -v grep)

   if [ -z …
Run Code Online (Sandbox Code Playgroud)

bash shell scripting scripting-language

5
推荐指数
1
解决办法
4940
查看次数

dtrace 和 linux perf 工具在 ubuntu 中不起作用

我有一个在 aws ubuntu 实例上运行的 node.js 应用程序。我试图生成火焰图dtracelinux perf tools但它们似乎都不起作用。这些是我遵循的步骤:

linux性能工具:https : //www.carlhopf.com/blog/2016/09/11/nodejs-cpu-profiling-production/

dtrace: https://nodejs.org/en/blog/uncategorized/profiling-node-js/

我已经--prof / --perf_basic_prof_only_functions为 linux perf 工具命令添加了启动应用程序的同时。

我从 dtrace stacks.out 文件得到的输出是:

CPU     ID                    FUNCTION:NAME
  0 330511                        :tick-60s 
Run Code Online (Sandbox Code Playgroud)

安装dtrace如下:https : //askubuntu.com/questions/60940/how-do-i-install-dtrace

当我尝试将 linux perf 命令的输出转换为火焰图时得到的输出是

ERROR: No stack counts found
Run Code Online (Sandbox Code Playgroud)

我不确定缺少什么以及为什么没有记录堆栈跟踪。 node version: 8.4.0 ubuntu : 14.04 我确实看到有Systemtap可用选项并且可以使用此命令:

stap -s 32 -D MAXBACKTRACE=100 -D MAXSTRINGLEN=4096 -D MAXMAPENTRIES=10240 \
    -D MAXACTION=10000 -D STP_OVERLOAD_THRESHOLD=5000000000 --all-modules \
    -ve 'global s; …
Run Code Online (Sandbox Code Playgroud)

ubuntu dtrace systemtap node.js perf

5
推荐指数
0
解决办法
644
查看次数

如何使用Java创建数组列表

我有一个arrayList的值,{a,b,a,c,d,b,a} 我想对列表中的每个元素进行比较,然后使用Java 将pairof common indexes插入List of array

示例输出:[[0,2,6],[1,4]]说明:a位于索引处0,2,6b位于索引处1,4 到目前为止,我有以下内容:

    HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();
        List<String> name = new ArrayList<String>();
        letter.add("a");
        letter.add("b");
        letter.add("c");
        letter.add("b");
        letter.add("a");

         for (int i = 0; i < letter.size(); i++) {
            for (int j = 1; j < letter.size(); j++) {
                if (letters.get(i).equals(letters.get(j)) && i != j) {
                    hashMap.put(i, j);
                }
            }
        }
        System.out.println(hashMap); //o/p: {0=4, 1=3, 3=1}
        List<int[]> myList = new …
Run Code Online (Sandbox Code Playgroud)

java arrays arraylist

5
推荐指数
0
解决办法
135
查看次数

Jenkins管道条件阶段使用“何时”作为选择参数

我正在尝试建立一个詹金斯管道,其中我有一个带有n个选择的选择参数,并且想要创建一个stage当选择了选择参数中的某些值时可以执行某些操作的对象,但下面的内容却无法正常工作。

#!/usr/bin/env groovy

pipeline {

agent any

    parameters {

        choice(
                choices: 'a\nb\n\c\n\d\ne\nf',
                description: 'name of the student',
                name: 'name'
        )
    }
 stages {
       stage ('callNames') {

        when {
             expression { params.name == 'a|d|f' }
        }
        steps{
        echo "selected name is: ${name}"
        //do something

            }
        }        
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,我想do something为参数选择的值namea或时df 对于上述,我没有收到任何错误,但是我在控制台输出中看到了这一点。

Stage 'callNames' skipped due to when conditional当我a/d/f在构建过程中选择值时

请让我知道这里缺少什么

groovy jenkins jenkins-pipeline

3
推荐指数
1
解决办法
7776
查看次数

如何传递选择参数来调用詹金斯管道内的作业

我怎样才能通过choice parametersstage当在詹金斯管道中的下游作业?

\n\n

我尝试了以下解决方案,但没有一个有效:

\n\n
stage(\'build job\') {\n    steps{\n        script{\n              build job: \'test\',\n                   parameters: [\n                                choice(choices: "option1\\noption2\\noption3\\n", description: \'\', name: \'choiceParam\')\n                                ] \n              }\n     }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

失败了java.lang.UnsupportedOperationException: no known implementation of class hudson.model.ParameterValue is using symbol \xe2\x80\x98choice\xe2\x80\x99

\n\n

也尝试过这些:

\n\n
 parameters:\n   [\n     [$class: \'ChoiceParameterValue\', name: \'choiceParam\', value: "1\\n\\2\\n3\\n"],\n   ]\n
Run Code Online (Sandbox Code Playgroud)\n\n

失败了java.lang.UnsupportedOperationException: no known implementation of class hudson.model.ParameterValue is named ChoiceParameterValue

\n\n

我实际上想将选择参数传递为build parameter“$choiceParam”value传递,这样我就可以更新詹金斯作业配置,而不是总是更新管道脚本中的值

\n\n

有人可以帮我解决这个问题吗

\n\n

谢谢

\n

groovy jenkins jenkins-groovy jenkins-pipeline

2
推荐指数
1
解决办法
1万
查看次数