Jenkins 0 文件在构建后发布

标签 jenkins automated-tests jenkins-plugins jenkins-cli

我有一个包含两项作业的 Jenkins 服务器设置

第一份工作轮询开发分支并在 jenkins 服务器上构建项目。然后我有另一项工作来轮询生产分支,这在另一个 Jenkins 奴隶(即登台服务器)上构建了这个分支。此作业经过配置,以便在成功构建后,它应该通过 ssh 将工件发布到生产服务器。

所有 SSH key 均已设置,登台服务器连接到生产服务器,但传输了 0 个文件

using GIT_SSH to set credentials Bitbucket Repo

using .gitcredentials to set credentials
Checking out Revision 89874cc01a9f669df69817b1049b1ab98ecb19d3 (origin/Production)

SSH: Connecting from host [nginx-php-fastcgi]
SSH: Connecting with configuration [AmazonAWS] ...

SSH: Disconnecting configuration [AmazonAWS] ...
SSH: Transferred 0 file(s)
Finished: SUCCESS

Jenkins is setup to use the workspace on the staging server to deploy files

我检查了暂存工作区,文件正在那里构建,只是没有发送到产品服务器。有什么建议吗??

我还尝试了不同的删除前缀,如下所示和此处 Jenkins transferring 0 files using publish over SSH plugin i have also tried a different remove prefix path as suggested

最佳答案

您应该从 Remove prefix 行中删除 /*

编辑:
您的源文件不能位于作业工作区之外。如果您的文件位于工作区的根目录中,只需将其设置为 * 以传输所有工作区文件,或设置为 **/* 以包含子目录。否则指定相对于 ${WORKSPACE} 的模式。

即使添加前导 / 也无法逃脱这一点,因为它所做的只是将其附加到工作区,在您的情况下,它变成 ${WORKSPACE}/var/www/workspace/opms -登台服务器。即使使用父目录 ../ 也不起作用。这是出于安全考虑,否则作业配置器可能会从 Jenkins 服务器传输私有(private)文件。

如果您需要从其他作业获取文件,则需要使用复制工件构建步骤。告诉我您是否属于这种情况,我会进一步解释。

关于Jenkins 0 文件在构建后发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23198641/

相关文章:

playframework - 运行 Play 命令时如何关闭颜色代码?

jenkins - 获取java.io.IOException : CreateProcess error=2, 系统找不到jenkins中指定的文件

java - 测试运行了两次并且没有关闭

Jenkins EnvInject 插件 - 包含多行的环境变量值

jenkins - 从 TeamCity 发送命令以在 Jenkins 上运行自动化测试

java - 如何使用 Selenium 测试通过 Web 应用程序的注册页面输入的数据是否存储到数据库中?

maven - Jenkins 不执行 mvn 命令后的最后一个命令

javascript - 加载表单时,如何在 Jenkins jelly 脚本中获取对 Builder 配置的表单元素的引用?

java - Jenkins ;在 Jelly 字段中注入(inject)环境变量?

android - jenkins 构建 Android 的 Aapt2 问题