Я пытаюсь создать конвейер, в котором Jenkins создает образ Docker, запускает тесты, а затем развертывает контейнер, если тесты пройдут.Проблема в том, что у меня работает maven внутри док-контейнера, и я не могу получить доступ к опубликованным тестам, пока не запустил контейнер.Я хочу, чтобы контейнер Docker был запущен и развернут после прохождения тестов.Это кажется простым делом, но я не могу придумать, как это сделать.Я что-то неправильно понимаю?Спасибо.
Dockerfile:
FROM openjdk:10 as step-one
COPY ./ /var/www/java/
WORKDIR /var/www/java
RUN apt-get update -y && apt-get install -y maven
RUN mvn clean package -X
ENTRYPOINT ["java"]
CMD ["-jar", "target/gs-serving-web-content-0.1.0.jar"]
EXPOSE 8080
Jenkinsfile:
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building..'
sh 'docker build -t spring-image .'
}
}
stage('Test') {
steps {
echo 'Testing..'
junit '/var/www/java/target/surefire-reports/TEST-ma.SpringTest.xml'
}
}
stage('Deploy') {
steps {
echo 'Deploying....'
sh 'docker run -i -d --name spring-container spring-image'
}
}
}
}