我的管道包括两个步骤:首先是从git检查代码,另一个是构建。 请参阅我的管道如下:
stages {
stage('Sync code from GitLab'){
steps {
echo "Step 1: Sync code"
ws(dir: '/home/tOmMy/jks_node/workspace/test') {
checkout([$class: 'GitSCM', branches: [[name: '*/release_br']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'xxx', url: 'yyy']]])
sh '''
pwd
ls -lt
'''
}
}
}
stage('Build'){
steps {
echo "Step 2: Build"
...
}
}
}
然而,当来自git的Jenkins结账代码时,我看到了许多目录:
[tOmMy@ubuntu workspace]$ tree
.
|-- xx
| `-- yy
| |-- zz
| |-- zz@2
| |-- zz@2@tmp
| `-- zz@tmp
|-- test
|-- test@2
|-- test@2@tmp
`-- test@tmp
其中xx,yy,zz是我Jenkins服务器中的文件夹和作业名称。 问题是: 1. Jenkins检查源代码的文件夹是哪个?我比较test,test @ 2,xx / yy / zz,xx / yy / zz2,它们都有相同的文件。为什么詹金斯会在很多地方检查代码?
答案 0 :(得分:0)
通常一个声明性管道(如果你是从存储库中读取它)已经在" Checkout SCM"中检查了代码本身。在作业/构建工作区文件夹中。 如果在另一个工作区(命令ws)中分配并再次检查代码,则有2个版本。 你应该只进行构建,检查已经在普通管道中完成(如果你使用repo中的jenkinsfile)