jenkins管道不是远程构建

时间:2019-10-07 03:56:08

标签: jenkins jenkins-pipeline

我正在尝试通过管道构建到主服务器中另一个从属服务器的工作

管道就是这样

pipeline {
    agent {
        label "virtual"
    }
    stages {
        stage("test one") {
            steps {
                echo " test test test"
            }
        }
        stage("test two") {
            steps {
                echo " testttttttttt "
            }
        }
    }
}

他们的语法没有得到错误,但是它没有建立在我的从属服务器上, 但是,当我通过带有该标签的Restrict where this project can be run在自由式作业上运行时,然后通过回显“ test test”执行sheel 它建立在我的从属服务器上, 我的管道有什么问题?我会错过什么吗?

构建后

Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on virtual in /home/virtual/jenkins/workspace/demoo
[Pipeline] {
[Pipeline] stage
[Pipeline] { (test one)
[Pipeline] echo
 test test test
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (test two)
[Pipeline] echo
 testttttttttt 
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline

2 个答案:

答案 0 :(得分:2)

远程根目录(黄色列)中添加所需的路径,如下所示:-

enter image description here

答案 1 :(得分:1)

构建工作就像您已经完成的一样。这些步骤将在从站上执行。如果您在步骤中添加clone a repository之类的内容,则会创建您的工作区目录。

管道和Freestylejobs在这里的工作方式有所不同。 Freestylejob会在第一次运行时在工作空间中创建目录。 Pipelinejob将在需要此目录后立即创建该目录。

我创建了一个简单的管道:

pipeline {
    agent {
        label "linux"
    }
    stages {
        stage("test one") {
            steps {
                sh "echo 'test test test' > text.txt"
            }
        }
    }
}

我将您的echo转换为sh命令,因为我的从站是Linux从站。 sh步骤创建一个text.txt文件。运行此作业后,将立即创建目录:

[<user>@<server> test-pipeline]$ pwd
/var/lib/jenkins/workspace/test-pipeline
[<user>@<server> test-pipeline]$ ls -l
total 4
-rw-r----- 1 <user> <group> 15 Oct  7 16:49 text.txt