我有份詹金DSL的工作。它是用于java构建的。我陷入了一个奇怪的问题。作业名为DSL,我看到创建了一个名为DSL的工作区,但当作业运行时,它添加了另一个名为DSL@2的工作区。
pipeline
{
agent any
stages
{
stage('Build')
{
agent {
docker { image 'maven:latest'
args '-v /home/ubuntu/jenkins/jenkins_home/.m2:/root/.m2'
}
}
steps {
git branch: "${params.branch}", url: "git@github.org/repo.git"
sh 'mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true'
sh "ls -la target/name.jar "
}
}
stage('Copy Artifects')
{
steps {
//print "$params.IP"
// sh '${params.IP}"
sh "ls -la && pwd "
sh "scp target/name.jar ubuntu@${params.IP}:/home/ubuntu/target/name.jar_2"
}
}
}
}失业
Compiling 19 source files to /var/jenkins_home/workspace/dsl@2/auth-client/target/classes发布于 2020-05-13 13:42:38
DSL@2意味着您配置了一个并发作业,同时运行了两个构建,或者您得到了一个bug https://issues.jenkins-ci.org/browse/JENKINS-30231
为了解决你的问题:
您正在从maven映像创建的坞容器中构建阶段(“构建”)。
但是,阶段(“复制人工”)在该容器之外运行
要修复它,需要将代理{}移动到管道{}级别,如下所示:
pipeline
{
agent {
docker {
image 'maven:latest'
args '-v /home/ubuntu/jenkins/jenkins_home/.m2:/root/.m2'
}
}
stages
{
stage('Build')
{
steps {
git branch: "${params.branch}", url: "git@github.org/repo.git"
sh 'mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true'
sh "ls -la target/name.jar "
}
}
stage('Copy Artifects')
{
steps {
sh "ls -la && pwd "
sh "scp target/name.jar ubuntu@${params.IP}:/home/ubuntu/target/name.jar_2"
}
}
}
}https://stackoverflow.com/questions/61773675
复制相似问题