У меня есть образ докера в dockerhub, который я хочу добавить в качестве агента в мой сценарий конвейера jenkins.Как часть изображения, я выполняю git clone для извлечения репозитория из github, который имеет несколько сценариев Python, что соответствует нескольким этапам в моем конвейере jenkins.Я пытался искать везде, но не могу найти соответствующую информацию, которая говорит о том, как получить доступ к файлам внутри контейнера докера в конвейере jenkins.
Я запускаю jenkins на виртуальной машине, и на ней установлен докер.Конвейер выполняет сборку на док-контейнере.Поскольку на каждом этапе конвейера задействовано много этапов, я постарался максимально использовать Python API.
Вот так выглядит мой dockerfile, образ успешно собирается, и я могу разместитьэто в dockerhub.Когда я запускаю контейнер, я вижу директорию "jenkins_pipeline_scripts", которая содержит все необходимые скрипты python для этапов конвейера.
FROM ros:melodic-ros-core-stretch
RUN apt-get update && apt-get -y install python-pip
RUN git clone <private-repo with token>
Так выглядит мой текущий скрипт конвейера jenkins.
pipeline {
agent {
docker {
image '<image name>'
registryUrl 'https://registry.hub.docker.com'
registryCredentialsId 'docker-credentials'
args '--network host -u root:root'
}
}
stages {
stage('Test') {
steps {
sh 'python jenkins_pipeline_scripts/scripts/test.py'
}
}
}
}
Это ошибка, которую я получаю при выполнении задания.
$ docker top 05587cd75db5c4282b86b2f1ded2c43a0f4eae161d6c7d7c03d065b0d45e1 -eo pid,comm
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Test)
[Pipeline] sh
+ python jenkins_pipeline_scripts/scripts/test.py
python: can't open file 'jenkins_pipeline_scripts/scripts/test.py': [Errno 2] No such file or directory