我面临一个问题,我在我的管道中定义了两个阶段,这两个阶段都在同一个节点上运行,需要在同一个工作区中运行.
这些阶段中的第一阶段最初在我的主节点上运行,但是在定义的步骤结束时必须将一些文件解压缩到不同的节点上.
然后第二阶段只需继续我的主人,并依赖从第一阶段安装的一些模块.
这是我的管道,以更好地解释:
#!groovy
pipeline {
agent { label 'master' }
stages {
stage('Build') { // 1. Running on master in /var/lib/jenkins/workspace/_Pipelines_IACT-Jenkinsfile-UL3RGRZZQD3LOPY2FUEKN5XCY4ZZ6AGJVM24PLTO3OPL54KTJCEQ
steps {
sh '''
npm install
bower install
gulp set-staging-node-env
gulp prepare-staging-files
gulp webpack
'''
stash includes: 'dist/**/*', name: 'builtSources'
stash includes: 'config/**/*', name: 'appConfig'
node('Protractor') { // 2. Running on vnccentos7 in /var/jenkins/workspace/_Pipelines_IACT-Jenkinsfile-UL3RGRZZQD3LOPY2FUEKN5XCY4ZZ6AGJVM24PLTO3OPL54KTJCEQ
dir('/opt/foo/deploy/') {
unstash 'builtSources'
unstash 'appConfig'
}
}
}
}
stage('Unit Tests') {
agent { label 'master' } // 3. Running on master …Run Code Online (Sandbox Code Playgroud)