Вам необходимо смонтировать рабочую область вашего задания Jenkins (содержащего ваш проект python) как том (см. Параметр «docker run -v») в ваш контейнер, а затем выполнить шаг сборки «следующий шаг» внутри этого контейнера.Вы можете сделать это, предоставив сценарий оболочки как часть исходного кода вашего проекта, который выполняет «следующий шаг», или напишите этот сценарий на предыдущем этапе сборки.
Это будет примерно так:
sh "chmod +x build.sh"
sh "docker run -v $WORKSPACE:/workspace ${DOCKER_REGISTRY}/${DOCKER_TAG}:latest /workspace/build.sh"
build.sh - это исполняемый скрипт, который является частью рабочей области вашего проекта и выполняет «следующий шаг».
$ WORKSPACE - это папка, используемая вашей работой jenkins (обычно /var / jenkins_home / jobs // workspace - она предоставляется Jenkins как переменная сборки .
Обратите внимание : для этого решения требуется, чтобы демон Docker работал натот же хост, что и у Jenkins! В противном случае рабочая область не будет доступна для вашего контейнера.
Другое решение состоит в том, чтобы запустить Jenkins в качестве контейнера Docker, чтобы вы могли легко обмениваться домашними / рабочими пространствами Jenkins с контейнерами, в которых вы работаете.задания по сборке, как описано здесь:
Выполнение тестов Jenkins в контейнерах Docker, сборка из dockerfile в кодовой базе