我正在使用docker容器作为詹金斯建立奴隶。所有构建从属,jenkins主节点都是在同一主机上运行的docker容器。 (没有其他虚拟机)
以下是我用来构建角度应用程序的docker-slave模板。
Jenkins文件如下。我无法更改Jenkins文件。因此,上述构建从站已在jenkinsfile中标记为节点。
pipeline {
agent {
node {
label 'ng6'
}
}
stages {
stage('build && SonarQube analysis') {
steps {
withSonarQubeEnv('XX SonarQube') {
sh '''
npm install
ts-node git.version.ts
ng build --prod
(cd dist ; tar -czf ../xx-ng.tar.gz.)
'''
}
archiveArtifacts(artifacts: 'xx-ng.tar.gz', fingerprint: true)
}
}
我在做什么 我将在docker模板配置中挂载.npm和node_modules。 (-v)
我想要的
更快的构建。我想使用docker volume mount选项保留该工作空间目录
/home/jenkins/workspace/xx-ng_master-ZWS24TQFDFQRGZ3QMEVULORQISDY3BPEWLM7KFGJ42I33NOQFULA
因此node_modules应该是持久的,并且构建会更快。如何获取该目录路径并将其放入docker代理模板中?
<Path_to_workspace>/<Path_build>