使用 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 的相关文章

  • 使用 pscp 命令时出现“未找到命令”

    我正在使用 PuTTY pscp 将项目文件夹传输到 AWS 实例 我可以使用 ppk 公钥文件进行连接并且ssh命令成功打开并登录 这里我使用命令来传输文件夹 pscp r i C path to my keys converted pe
  • 让 Jenkins 对远程用户不可见

    我的本地 Windows 设备上有一个 Jenkins 服务器 但我想让它对外界不可见 有关服务器的办公室规则 明显且不隐晦的 效果令人满意的方法是设置防火墙规则来阻止对其端口的传入访问 但我认为必须有一个 Jenkins 设置来阻止它向除
  • 如何使用 jenkins pipeline 共享库定义全局变量或常量?

    虽然我能够定义方法 但使用 Jenkins 共享库定义变量似乎是迄今为止尚未解决的任务 I added vars True groovy有了这个身体 def call return true 现在在 Jenkinsfile 中 我尝试测试它
  • 从 Ansible 中的文件结果中提取文件名

    我正在尝试使用 Ansible 的结果find模块 它返回在特定文件夹中找到的文件列表 问题是 当我迭代结果时 我没有文件名 我只有它们的完整路径 包括名称 有没有一种简单的方法来使用find result item下面提供file nam
  • 如何通过运行构建队列重新启动 Jenkins?

    我们的 Jenkins 执行大量集成测试 詹金斯运行的时间越长 测试所需的时间就越长 因此 我们每天晚上通过 cronjob 重新启动 Jenkins 服务器 同时 构建队列太长而无法完成 当前正在运行的作业被取消并失败 那太丑了 我找到了
  • 如何在 Jenkins 控制台输出中隐藏 checkout scm 步骤输出

    我在 Jenkinsfile 脚本化管道 中的第一个阶段是 checkout scm 它简要描述了 GitHub checkouts 和所有修订相关的内容我不想在 Jenkins 控制台输出中显示 是否可以将其隐藏在 Jenkins 的控制
  • git jenkins 中未找到存储库

    我正在使用 jenkins 2 64 并安装了最新的插件 我试图在 jenkins 中设置 git 存储库并给出凭据 但给出错误无法连接存储库 状态代码为 128 Cloning repository https github com so
  • 仅运行相应源代码已更改的单元测试?

    我正在 Jenkins CI 服务器中运行单元测试和 Selenium 测试 众所周知 在大型项目中测试需要很长时间才能运行 Java 是否有一个工具 框架只能触发其源代码已更改的测试 这是因为并非每次对 SCM 的提交都会影响源代码的所有
  • 批准后使用 jenkinsfile 构建促销

    仅当更改管理使用 servicenow 更改票证或通过手动批准批准它时 我才需要使用 jenkins 文件将我的构建升级到生产 我想要类似的东西 产品构建只有在经理批准后才能手动触发 他 她应该收到带有批准 拒绝链接的批准邮件 或者 如果与
  • 在 Jenkins 内运行构建时,我收到“java/lang/OutOfMemoryError”

    2020 02 25 10 11 24 986 0000 id 79 信息hudson model AsyncPeriodicWork lambda doRun 0 开始maven repo cleanup 2020 02 25 10 11
  • Jenkins 脚本化管道或声明式管道

    我正在尝试将旧式项目基础工作流程转换为基于 Jenkins 的管道 在经历的同时docs https jenkins io doc book pipeline 我发现有两种不同的语法名为scripted and declarative 比如
  • Jenkins 并行管道中的顺序阶段

    我在 Jenkins 中有一个动态脚本化管道 它有许多并行阶段 但在每个阶段内都有多个串行步骤 我已经浪费了好几天的时间试图让它工作 无论我尝试什么 所有串行子阶段都集中到一个阶段 这是我现在所拥有的 node stage Parallel
  • 如何跳过 Maven 存储库中的发布或特定模块

    Heyho 我有一个具有以下结构的 Maven 项目 parent 项目清单 API模块 module2 module5 test 分配 组装 所以首先我运行父模块 然后运行构建 api 的模块 然后运行依赖于 api 的模块 然后运行一个
  • Hudson/Jenkins Git 构建所有分支

    我们有很多开发人员创建了我想要构建的功能分支 每晚我们都会运行一个需要在每个分支上运行的代码质量工具 我也不喜欢静态配置 因为分支数量每隔几周就会发生变化 在 Git 配置中有一个字段 分支说明符 默认为空白 如果你放在那里 它将构建来自所
  • 严重:https://jenkins.domainname.com/tcpSlaveAgentListener/ 似乎正在发布无效的 X-Instance-Identity

    我们正在尝试将之前连接的代理连接到 Jenkins 服务器 我们得到以下错误 SEVERE https jenkins domainname com tcpSlaveAgentListener appears to be publishin
  • Gitlab 合并请求事件不触发 Jenkins 多分支管道

    我正在尝试在合并请求事件上使用 GitLab Webhook 触发 Jenkins 多分支管道作业 当我测试 Webhook 时 我收到以下消息 Hook 执行成功但返回 HTTP 409 当我设置不同的 GitLab Webhook 例如
  • 与字符串比较在 Jenkins 管道中不起作用

    知道为什么IF ELSE下面的作品 def checkPrValidity wordCountStr sh returnStdout true script git diff ignore space at eol target branc
  • Jenkins:从神器部署战争文件

    我们正在使用Jenkins建立 maven 并部署工件 JAR 和 WAR s 到内部工件服务器 快照和版本 对于部署 目前 我们有 Jenkins 作业来打包 war 文件 来自发布 scm 标签 并部署到不同的环境 服务器 我们想要跳过
  • 如何将 .xlsx 文件上传到 jenkins 作业

    如何将 xlsx 文件作为构建参数上传到 jenkins 作业 我尝试使用文件参数 但我发现该文件正在丢失其扩展名或原始格式 有什么方法可以从 jenkins UI 将 excel 文件上传到 jenkins 作业吗 In the file
  • 为什么 Jenkins SVN 插件在连接到我的 VisualSVN 服务器时会出现错误 E170001?

    我对 VisualSVN 服务器的了解 它支持 Windows Active Directory 身份验证和使用我的 Windows 用户名和密码的 基本 身份验证 我可以成功使用 TortoiseSVN CollabNet 和 Mac O

随机推荐