Вызов плагинов в декларативном конвейере Jenkins

Попытка перенести следующий синтаксис из конвейера сценариев в декларативный конвейер, но он не работает. Очевидно, я получаю сообщение об ошибке, что step не является допустимым ключевым словом в декларативном Jenkinsfile. Не удалось найти документацию по устранению проблемы. Любая помощь?

stage("publish to s3") {
step([
    $class: 'S3BucketPublisher',
    entries: [[
        sourceFile: 'mybinaryFile',
        bucket: 'GoBinaries',
        selectedRegion: 'eu-west-1',
        noUploadOnFailure: true,
        managedArtifacts: true,
        flatten: true,
        showDirectlyInBrowser: true,
        keepForever: true,
    ]],
    profileName: 'myprofile',
    dontWaitForConcurrentBuildCompletion: false, 
])

}


person bostonjava    schedule 11.10.2018    source источник


Ответы (1)


В декларативных конвейерах stage должен иметь steps блок

stages{
  stage('someName'){
    steps {
      //s3bucketpublisher step
    }
  }
}

Ссылка: документация Jenkins

Директива stage входит в раздел стадий и должна содержать раздел шагов, необязательный раздел агента или другие директивы, относящиеся к стадии.

person dot    schedule 11.10.2018
comment
Проблема в том, что я получаю синтаксическую ошибку для $ class. Например, stage {stage ('someName) {steps {$ class: S3BucketPublisher - генерирует синтаксическую ошибку}}} - person bostonjava; 11.10.2018
comment
просто чтобы подтвердить, я забыл цитату после someName. Я поправил. Можешь попробовать сейчас? - person dot; 11.10.2018
comment
Спасибо за вашу помощь. Я добавил тег скрипта с шагами, как вы предложили выше. Это сработало. - person bostonjava; 12.10.2018