我试图通过DOCKER运行这个jenkins管道代码。我在这里使用AWS ec2-user作为VM。 此代码工作正常,但是......
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}
}
答案 0 :(得分:0)
要在远程服务器上运行,必须使用withServer
command。
关于容器停止,请尝试将withRun
命令更改为withRun('-d -p 9090:8080')
答案 1 :(得分:0)
如果使用声明性管道,请尝试使用此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参数以分离模式运行容器。 希望能帮助到你。