我在 win32 机器上运行 hudson CI 服务器。构建成功后,我希望将创建的 exe 放在公共网站上。SCP 和 ftp 的 hudon 插件没有按我想要的方式工作(主要是因为它选择了一些奇怪的目录来放置它们)所以我为 hudson 调用的命令行 scp 制作了自己的脚本。
出于某种原因,当在 hudson 环境下运行时,scp bat 文件挂起。当我在同一台机器上从命令行调用它时,它工作正常。
显然,当从任务调度程序运行时,这也会失败。
谁能想到这在哈德逊或调度程序环境中不起作用的原因?
pscp.exe -batch -q -pw mypassword ..\..\installers\Output\myfilename domain.com@domain.com:domains/domain.com/html/downloads
(请注意,“domain.com”是我的域名的替代品......)
同样,当我从命令行调用该 bat 文件时,它工作得很好。
还要注意 - 我调用 bat 文件的原因是因为我用 svn WCREV 命令替换了文件名 - 因为 hudson 已经脑死亡,无法在 scp 或 ftp 插件或命令行调用中进行替换。这种方法应该可以正常工作,但它会挂起。
pscp 是一个与 Putty 相关的命令行 ssh 程序。
我遇到的另一个问题是该项目访问两个 svn 存储库,因此 hudson 感到困惑并且无法在我希望它可用的地方随意提供 svn rev 编号。(一个 repo 用于第三方,另一个是我们的代码库)我们使用代码库中的 svn rev 作为标识符的一部分来命名创建的安装程序。
我很乐意在 hudson(插件)中使用 ftp 或 scp,但考虑到 hudson 决定放置文件的位置(使用内部版本号 - 我不想使用 hudson 的内部版本),它们似乎根本不适合我识别构建的数字 - 我更喜欢 svn 修订版) - 因此我使用命令行版本,但那些也不起作用 - 它们挂起 hudson 构建过程。