【问题标题】:Can you create a remote directory using sshPut command in Jenkings您可以在 Jenkins 中使用 ssh Put 命令创建远程目录吗
【发布时间】:2021-04-28 14:57:22
【问题描述】:

我正在尝试使用 sshPut 命令将文件放入远程目录。问题是该目录不存在。 sshPut 可以用来简单地创建一个远程目录吗?这是我现在的步骤:

sshPut failOnError: true, remote: dev_repo, from: './MyProgram.exe', into: "/home/releases/${env.MYPROG_VERSION}/"
sshPut failOnError: true, remote: dev_repo, from: './MyProgram.pdb', into: "/home/releases/${env.MYPROGAM_VERSION}/"
sshPut failOnError: true, remote: dev_repo, from: './ThirdParty.dll', into: "/home/releases/${env.MYPROGAM_VERSION}/"

其中 env.MYPROGRAM_VERSION 是在 Jenkinsfile 中较早设置的。

问题是该目录不存在,我想创建它。我在构建机器上没有同名的目录。

【问题讨论】:

    标签: jenkins ssh


    【解决方案1】:

    您可以在sshPut 之前添加一个步骤:sshCommand

    sshCommand remote: remote, command: "mkdir -p "/home/releases/${env.MYPROGAM_VERSION}"
    

    这样,先创建文件夹,然后sshPut就可以运行成功了。

    【讨论】:

    • 我想这会起作用,但它特定于作为 SFTP 服务器的 linux 机器。
    • 你可以把它翻译成 Windows mkdir 命令,不是吗?
    • 是的,但我宁愿它与服务器无关。 sshPut 应该能够在目标上创建一个目录,而不必有一个本地目录,或者 sshPut 应该有一个标志来创建任何需要的目录。
    猜你喜欢
    • 2018-04-21
    • 2016-02-25
    • 2023-03-25
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2013-08-16
    相关资源
    最近更新 更多