詹金斯git无法识别后续推送

时间:2018-06-21 15:10:29

标签: git jenkins git-ftp

我正在尝试在本地git服务器上使用Jenkins,以使用git-ftp将新的提交自动发布到FTP服务器。

最初的上传有效,但随后的所有提交都将被忽略。

我添加了一个自由样式项目,并在“源代码管理”中添加了Repo-URL:

file:////Users/me/my_repository.git

凭据为空,因为我们位于本地文件系统上。

控制台输出中没有任何错误。

在构建设置中,我发出shell命令以将更改的文件上传到我的sftp服务器:

git ftp push --user $FTP_USER --passwd $FTP_PASS -b dev -vv --auto-init sftp://my.server.tld:22/home/jenkins-test/dev-branch

初始上传运行良好。但是,一旦我进行更改并将其推送到存储库,Jenkins就不会看到它们,并声称一切都很好。

有什么想法吗?

[编辑]

我发现,当我删除Web服务器上的初始文件并执行另一次git ftp push(使用--auto-init)时,旧文件被上传了-我不知道它们来自何处。

控制台输出说:

Building in workspace /Users/jenkins/.jenkins/workspace/deploy-test-dev

当我检查此目录中的文件时,它们就是在上一次提交中所做的更改的文件。 las,它们不是要上传到ftp服务器的文件。

是否正在进行某种缓存?

2 个答案:

答案 0 :(得分:0)

也许您在作业配置中缺少构建触发器

由于您的存储库位于本地文件系统上,因此您可能应使用轮询SCM 触发器或FSTrigger Plugin

答案 1 :(得分:0)

问题出在推送命令上。

代替

git ftp push --user $FTP_USER --passwd $FTP_PASS -b dev -vv --auto-init sftp://my.server.tld:22/home/jenkins-test/dev-branch

我不得不删除-b dev(因为签出后没有任何dev分支)。

这可行

git ftp push --user $FTP_USER --passwd $FTP_PASS -vv --auto-init sftp://my.server.tld:22/home/jenkins-test/dev-branch