Опция агента докера недопустима для общей библиотеки - PullRequest
0 голосов
/ 03 мая 2019

args опция для агента докера недействительна, когда я запускаю конвейер, который использует общую библиотеку.

Invalid config option "call" for agent type "docker". Valid config options are [image, alwaysPull, args, containerPerStageRoot, customWorkspace, label, registryCredentialsId, registryUrl, reuseNode] @ line 30, column 25.
                   args "-u root:root -v ${WORKSPACE}:${goPath}"
                   ^

Если я рекомендую параметр args, эта ошибка не будет отображаться. Другие опции, такие как image и reuseNode, работают как положено.

У меня нет проблемы, когда я использую его непосредственно в jenkinsfile без использования разделяемой библиотеки.

goTest.groovy

def call(){
      pipeline{
          stage('golang-install') {
                agent {
                    docker {
                        image 'SOME GOLANG IMAGE'
                        'args' "-u root:root -v ${WORKSPACE}:${goPath}"
                        reuseNode true
                    }
                }
                ...
           }
       }
   }

jenkinsfile использовать общую библиотеку

@Library('common-ci') _

goTest()

1 Ответ

0 голосов
/ 03 мая 2019

Решено. Поскольку я установил параметр функции как аргументы, он переопределяет аргументы как опцию для докера. После изменения имени входного параметра проблема решена. старый

def call(Map args) {

}

новый

def call(Map opts) {

}
...