How to get stdout and stderr from single Jenkins P

2019-02-24 08:51发布

I'm using a parallel block into my Jenkinsfile to execute concurrently some tests, but all the outputs are getting mixed up.

This is an extract of my Jenkinsfile, as an example:

// do some IT against different databases
stage name: 'IT'

parallel (
    mysqlIT: {
        node {
            executeMysqlIT()
        }
    },
    oracleIT: {
        node {
            executeOracleIT()
        }
    }
)

Please note that, as suggested here I'm running a new node within each parallel, so they get properly parallelized and each of them gets its own workspace.

What should I do to have Jenkins show me separated outputs for the parallel blocks?

1条回答
闹够了就滚
2楼-- · 2019-02-24 09:53

On the build page of your job there is a link "Pipeline steps" on the left. There in the tree-like structure you can find all the steps that your job has run including parallel ones. You can go inside of every step and access its console log using the link on the left. Alternatively you can use a "terminal" icon on the right in the same row.

Click it and you will see the console log which solely produced within that step without any intermixing with other steps running simultaneously. If a step or several parallel steps are still in progress their logs will be dynamically updated on each of their console log pages.

查看更多
登录 后发表回答