正如您所发现的那样,我验证了尝试在没有节点的情况下分配user_id和group_id无效的方法,但这对我来说是有效的,可以分配这些值并稍后访问它们:
def user_iddef group_idnode { user_id = sh(returnStdout: true, script: 'id -u').trim() group_id = sh(returnStdout: true, script: 'id -g').trim()}pipeline { agent { label 'docker' } stages { stage('commit_stage') { steps { echo 'user_id' echo user_id echo 'group_id' echo group_id } } }}希望这些也能在您的
additionalBuildArgs声明中起作用。
在评论中,您指出了在使用声明的管道之前先找出声明性管道之外的user_id和group_id的方法最有可能的关键缺陷:发现其user_id的从属不一定与之匹配用于启动基于docker的构建的slave。我没有办法解决这个问题,同时还保持声明性的Jenkinsfile约束。



