使用 Jenkins 管道脚本从 Windows 到 Linux 的 SCP

2023-12-14

我想要做SCP从 Windows Jenkins 节点到 Linux 服务器。在此设置中,Windows 计算机是 Jenkins 从机,我要复制的目标服务器是 Linux。

下面是我的 Jenkins 管道脚本。在运行下面的脚本之前,我将克隆存储库,然后构建项目,最终创建一个.jar文件。我想将此文件复制到Linux服务器。

stage('SCP JAR file') {
    steps {
             bat 'scp /c/Jenkins/workspace/migration/test-project/build/libs/ssupservice-0.0.1-SNAPSHOT.jar rxp096p@server:/home/rxp096p/testing'
          }
     }
}

我的工作目录是/c/Jenkins/workspace/migration/test-project/。在给定目录内,build/libs在需要的地方创建文件夹.jar文件存在。

运行上面的脚本会出现以下错误:

/c/Jenkins/workspace/migration/test-project/build/libs/ssupservice-0.0.1-SNAPSHOT.jar: No such file or directory

试一试:

pipeline {
    agent any

    stages {
        stage('SCP JAR file') {
            steps {
                bat '"c:\\Program Files\\git\\usr\\bin\\scp.exe" -i "c:\\Users\\tom\\.ssh\\azure\\id_rsa" C:\\Users\\tom\\.jenkins\\workspace\\scp-to-linux\\abc.jar [email protected]:abc.jar'
                bat '"c:\\Program Files\\git\\usr\\bin\\ssh.exe" -i "c:\\Users\\tom\\.ssh\\azure\\id_rsa" [email protected] ls -ltr'
            }
        }
    }
}

Note: 做的时候scp,如果您没有指定目的地文件名,它将在远程服务器上创建文件完整的源路径姓名。例如,就我而言,它将创建名为的文件C:\Users\tom\.jenkins\workspace\scp-to-linux\abc.jar在远程服务器上我是否未指定此语法:[email protected]:abc.jar

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Jenkins 管道脚本从 Windows 到 Linux 的 SCP 的相关文章

随机推荐