我有一个带两个作业的Jenkins服务器设置
第一个作业轮询开发分支并在jenkins服务器上构建项目。然后,我有另一个工作,轮询生产分支,这将在另一个jenkins slave(即临时服务器)上构建此分支。配置此作业,以便在成功构建时,它应该通过ssh将伪像发布到生产服务器。
所有SSh密钥都已设置,登台服务器连接到生产服务器,但传输了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
我检查了暂存工作区,并且正在那里构建文件,而不是发送到prod服务器。有什么建议??
我还尝试了一个不同的删除前缀,如下所示Jenkins transferring 0 files using publish over SSH plugin
答案 0 :(得分:2)
您应该从/*
行
Remove prefix
<强> 编辑: 强>
您的源文件不能位于作业的工作区之外。如果您的文件位于工作区的根目录中,只需将其设置为*
以传输所有工作区文件,或将**/*
设置为包含子目录。否则指定相对于${WORKSPACE}
的模式。
即使添加一个前导/
也不会逃避,因为它所做的只是将其附加到工作区,在您的情况下它变为${WORKSPACE}/var/www/workspace/opms-staging-server
。即使使用父目录../
也行不通。这是出于安全考虑,否则作业配置器可以从Jenkins服务器上传输私有文件。
如果您需要从其他作业获取文件,则需要使用复制工件构建步骤。告诉我,如果这是你的情况,我会进一步解释。