Я пытаюсь запустить этот код конвейера Дженкинса через DOCKER. Я использую AWS ec2-user в качестве виртуальной машины. Этот код работает нормально, но ...
node{
stage('SCM CHECKOUT'){
git 'https://bitbucket.org/rajesh212/myapp.git'
}
stage('MVN BUILD'){
def mvnHome = tool name: 'maven', type: 'maven'
sh "${mvnHome}/bin/mvn clean package"
}
stage('DEPLOYMENT VIA DOCKER'){
def customImage = docker.build("image:${env.BUILD_ID}")
docker.image("image:${env.BUILD_ID}").withRun('-p 9090:8080'){sleep 10000}
}


Для работы на удаленном сервере необходимо использовать withServerкоманда.
Что касается остановки контейнера, попробуйте изменить команду withRun на withRun('-d -p 9090:8080')
Если вы используете декларативные конвейеры, попробуйте эту команду ssh. В качестве предварительного условия вам необходимо настроить пару ключей, чтобы позволить Jenkins использовать ssh на удаленном сервере. Специальная пара ключей ssh для развертывания рекомендуется из соображений безопасности:
stage('Deploy to Production') {
steps{
sh 'ssh -i path/to/deploy_private_key user@DNS_REMOTE_SERVER "docker run -d REGISTRY/YOUR_DOCKER_IMAGE:TAG"'
}
}
Используйте параметр -d, чтобы запустить контейнер в отключенном режиме. Надеюсь, поможет.