【问题标题】:jenkins git doesn't recognize subsequent pushjenkins git 无法识别后续推送
【发布时间】:2018-11-30 23:39:55
【问题描述】:

我正在尝试在我们的本地 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 服务器的那些。

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

【问题讨论】:

    标签: git jenkins git-ftp


    【解决方案1】:

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

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

    【讨论】:

    • 构建触发器不是问题。我正在单击“立即构建”按钮以使构建运行(暂时)。
    【解决方案2】:

    问题在于推送命令。

    而不是

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 2011-01-02
      • 2015-09-05
      • 1970-01-01
      相关资源
      最近更新 更多