Добрый день! Я еще зеленый в этом деле, буду рад любой помощи. Задача :
Нужно создать контейнер с image (там все нужные SDK и т.п), внутри этого контейнера нужно выполнить несколько sh-команд которые зачекаутят внутрь докера репозиторий, и там выплнить make для каждего устройства (всего 8). И после все полученые файлы выгрузить на удаленный хост по ftp. Все это в Jenkins(ver-2.374).
Так вот, проблема в создании контейнера, сначала я пробовал просто использовать вызов sh:
stages {
stage('Create Docker Container') {
steps {
sh "docker run -d --name '${CONTAINER_NAME}' '${DOCKER_IMAGE}' "
sh "docker exec -it '${CONTAINER_NAME}' /bin/bash "
}
Вывод такой:
: [Pipeline] sh
docker run -it –name build_docker {image_name}
the input device is not a TTY [Pipeline] }
При этом если пробовать это делать внутри ноды, все равботает нормально. По гуглил, говорят нужно убрать -it, но тогда как взаимодействовать с контейнером ?
После, я попробовал уставновить плагин Docker PiePline, сначала вроде как все норм, но почему то при вот такой конструкции, где видно что я ни одного аргумента не передаю (пробовал и добавлять, результат такой же):
stages {
stage('install build_container') {
agent {
docker {
image 'IMAGE'
args ''
disableResume true
runOptions '--name my-container'
reuseNode true
}
}
Вывод:
$ docker run -t -d -u 1000:1000 -w /home/user/jenkins/workspace/STABLE_RELEASE_DMR -v /home/user/jenkins/workspace/STABLE_RELEASE_DMR:/home/user/jenkins/workspace/STABLE_RELEASE_DMR:rw,z -v /home/user/jenkins/workspace/STABLE_RELEASE_DMR@tmp:/home/user/jenkins/workspace/STABLE_RELEASE_DMR@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** git.local.pulsar:4567/kochetkov.m/buildroot:2.3 cat
$ docker top 0fc2c532ef4258b9df3325a963f6475bab39f6f956c23474bb3807e5b420338a -eo pid,comm
Ни одного из перечисленных атрибутов и ключей я не передавал, хотелось бы это убрать, прошу помощи. Может наталкнете на какие то другие конструкции.