Дженкинс Докер Декларативный .withRun - PullRequest
0 голосов
/ 29 мая 2018

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

Мой Jenkinsfile выглядит следующим образом:

pipeline {
  agent {
    dockerfile {
      additionalBuildArgs '--network host'
    }
  }
  stages {
    stage('Test') {
      steps {
        sh 'pytest --version'
      }
    }
}

Я хотел бы передать дополнительные аргументы команде docker run, аналогичной этому вопросу ... Как передавать аргументы контейнера docker, когдазапуск образа в Jenkinsfile

Возможно ли это сделать в декларативном формате конвейера или я должен переключиться?

Редактировать:

По сути, этоэквивалент того, что я пытаюсь сделать в не декларативной форме:

node {
  def pytestImage = docker.build('pytest-image:latest', '--network host .')

  pytestImage.inside('--network=host') {
    sh 'pytest --version'
    // other commands ...
  }
}

1 Ответ

0 голосов
/ 16 октября 2018

Вы можете добавить опцию args к вашему dockerfile.Он передает аргументы непосредственно в docker run вызов:

pipeline {
  agent {
    dockerfile {
      additionalBuildArgs '--network host'
      args '--network=host'
    }
  }

  stages {
    stage('Test') {
      steps {
        sh 'pytest --version'
      }
    }
}

Дополнительная информация здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...