Hiho,
Я пытаюсь собрать и запустить Docker-контейнер в конвейере Jenkins, а затем провести некоторое тестирование в развернутом веб-приложении в контейнере. Проблема в том, что мой контейнер живет только несколько секунд, а затем умирает с кодом выхода 0. Уже пытался запустить его в интерактивном режиме и с плагином Docker Groovy и без него.
Мой код конвейера выглядит следующим образом:
stage("Docker Build&Run") {
steps {
script {
def tag = "shop:${env.BUILD_ID}"
docker.build(tag)
//sh "docker run -d -p 8443:443/tcp ${tag}" Tried both
docker.image(tag).run('-p 8443:443/tcp')
}
}
}
stage("Dummy Dynamic Analysis") {
steps {
echo "Dummy Dynamic Analysis" //to be integrated
sleep 120 //application should be available here since it has to be theire for testing as well
}
}
События выглядят так. Уничтожено через несколько секунд:
2018-11-07T17:27:30.104407703+01:00 image tag sha256:21ae4ef9603d390d0244cee30651485f2fb517a47c9e9d2c38855d093349105c (name=shop:35)
2018-11-07T17:27:31.260144894+01:00 container create ade7069d9d391146611f4f658156554823cc8086bd6769bbc32c3949d5b1a694 (image=shop:35, name=suspicious_liskov)
2018-11-07T17:27:31.456730373+01:00 network connect 36c2d6617773a7c7075caece71bcd744c89009b3db1962328d0f9930d981238a (container=ade7069d9d391146611f4f658156554823cc8086bd6769bbc32c3949d5b1a694, name=bridge, type=bridge)
2018-11-07T17:27:31.966564913+01:00 container start ade7069d9d391146611f4f658156554823cc8086bd6769bbc32c3949d5b1a694 (image=shop:35, name=suspicious_liskov)
2018-11-07T17:27:35.761690515+01:00 container die ade7069d9d391146611f4f658156554823cc8086bd6769bbc32c3949d5b1a694 (exitCode=0, image=shop:35, name=suspicious_liskov)
2018-11-07T17:27:35.929597196+01:00 network disconnect 36c2d6617773a7c7075caece71bcd744c89009b3db1962328d0f9930d981238a (container=ade7069d9d391146611f4f658156554823cc8086bd6769bbc32c3949d5b1a694, name=bridge, type=bridge)
Как я могу развернуть контейнер и позволить ему работать неограниченное время, пока он не остановится или не будет работать в течение всего времени работы jenkins?
Спасибо всем заранее.
Привет