詹金斯 |数字安全|工作区目录问题



我有一个 Jenkin DSL JOB。这是用于Java构建的。我陷入了一个奇怪的问题。 jobname 是 DSL,我看到创建了一个名为 DSL 的工作区,但是当作业运行时,它添加了另一个名为 DSL@2 的工作区。我无法从DSL工作区获取最终jar文件的问题

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

DSL@2意味着您要么配置了一个并发作业并同时运行两个构建,要么您遇到了错误 https://issues.jenkins-ci.org/browse/JENKINS-30231

为了解决您的问题:
您正在从 maven 镜像创建的 docker 容器内构建阶段("构建">(。
但是,stage('Copy Artifects'(在该容器之外运行

要修复它,您需要将 agent{} 移动到管道{}级别,如下所示:

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"
}
}  
}
}

相关内容

  • 没有找到相关文章

最新更新