0

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

初始上传有效,但所有后续提交都将被忽略。

我添加了一个 Free Style 项目,并在 Source-Code-Management 中添加了 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 就没有看到它们并声称一切都很好。

有任何想法吗?

[编辑]

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

控制台输出说:

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

当我检查此目录中的文件时,它们是上次提交中所做更改的文件。唉,它们不是被上传到 ftp 服务器的那些。

是否有某种缓存正在进行???

4

2 回答 2

0

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

因为您的存储库位于本地文件系统上,您可能应该使用Poll SCM trigger 或FSTrigger Plugin

于 2018-06-21T20:49:01.650 回答
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-branch)。

所以这行得通

git ftp push --user $FTP_USER --passwd $FTP_PASS -vv --auto-init sftp://my.server.tld:22/home/jenkins-test/dev-branch
于 2018-06-22T14:52:34.697 回答