使用PipelineNodeGraphVisitor删除@NonCPS注释

问题描述 投票:0回答:0

我有一个管道,它调用一个方法来收集构建信息,如下所示:

    @NonCPS
    List<Stage> getStage(rawBuild) {

        def visitor =  new PipelineNodeGraphVisitor(rawBuild)

        def stages = visitor.pipelineNodes.findAll{
            it.type == FlowNodeWrapper.NodeType.STAGE
        }

        List<Stage> stageInfo = [];

        for (stage in stages){
            if( stage.node.endNode ) {
                def startTime  = TimingAction.getStartTime( stage.node )
                def endTime    = TimingAction.getStartTime( stage.node.endNode )
                stageInfo.add(new Stage(stage.displayName, startTime, endTime));
            }
        }

        return stageInfo;
    }

这个效果很好。但是,由于管道限制使用 NonCPS 注释,是否可以保留此功能并删除 @NonCPS 注释。

jenkins groovy jenkins-pipeline jenkins-plugins jenkins-groovy
© www.soinside.com 2019 - 2024. All rights reserved.