将文件从从节点解压缩到另一个从节点

时间:2018-11-13 22:29:54

标签: jenkins jenkins-pipeline

我使用声明性的Jenkinsfile嵌入了脚本,试图将文件从从属节点存储到另一个从属节点。但是,此代码:

    stage('Unstash key generation script and assign a cron to is if they dont exist'){

        agent{
            label 'generate'
        }

        steps {
            script{

                def cronExists = fileExists 'myCron'

                if(!cronExists){
                    node('generate'){
                        node('build'){
                            stash includes: '/var/jenkins/workspace/q-go-pipeline/generateSigningKey.sh', name: 'generate-key'
                        }   
                        unstash 'generate-key'
                    }

                    sh 'echo "*/5 * * * * /var/jenkins/workspace/q-go-pipeline/generateSigningKey.sh" >> myCron'
                    sh 'crontab myCron'
                }
            }
        }       
    }

正在生成隐藏错误ERROR: No files included in stash。但是,当我进入build节点并管理该文件时,该文件就存在了。

一般要点是,如果从属服务器上不存在文件cronExists,则从构建节点获取一个隐藏文件,将其放入生成节点,然后每5分钟运行一次该脚本。如果该文件确实存在,它将跳过此步骤,并使用另一个脚本对文件进行签名。

0 个答案:

没有答案