如何使用Jenkinsfile

时间:2019-12-20 12:54:30

标签: jenkins jenkins-pipeline

我有一个Jenkinsfile,它实现了一个管道,并且在其中一个阶段中并且在一个节点下,如果我说不存储“ myfile”,那么该“ myfile”将在节点上可用吗?我的要求是,我需要访问此文件并作为Jenkinsfile脚本的一部分复制到已知的远程服务器(该远程服务器不是Jenkins池的一部分)。

2 个答案:

答案 0 :(得分:1)

您可以使用SSH Pipeline Steps将文件复制到远程服务器。以下是如何将文件从作业工作区发送到远程主机的示例:

remote = [:]

remote.name = "name"
remote.host = "remote_ip"
remote.allowAnyHosts = true
remote.failOnError = true
withCredentials([usernamePassword(credentialsId: 'credentials_name', passwordVariable: 'password', usernameVariable: 'username')]) {
    remote.user = username
    remote.password = password
}

sshPut remote: remote, from: 'myfile', into: 'folder_on_remote_host'

答案 1 :(得分:0)

  

我说要取消隐藏“ myfile”,该“ myfile”将在节点上可用吗?

您不执行unstash 'myfile',而是执行unstash 'my_stash',其中my_stash是您先前保存存储时使用的名称。存储可以包含一个文件,也可以包含整个目录树。它的内容是在存储时定义的(相对于运行${WORKSPACE}的节点上的stash),并且相对于运行{{ 1}}。

工作区根据您的代理程序配置(在我的位置,位于${WORKSPACE}中),但是出于所有实际目的-因为节点上的步骤也正在该文件夹中运行-您可以将其称为unstash,例如

/Users/jenkins/workspace/<a folder Jenkins creates>
相关问题