如何让Jenkins在远程服务器上执行删除操作

Kor*_*ieh 6 git deployment continuous-integration jenkins

我正在尝试使用Jenkins开始自动构建过程.

到目前为止,我已经设法让Jenkins从BitBucket构建一个项目,运行测试并使用Publish Over SSH插件将文件上传到生产服务器.

当我从我的git repo中删除文件时,我希望在远程服务器上删除这些文件.有几种方法我已经考虑过这样做了.

  1. 擦除生产服务器上的所有文件,然后上载最新的构建版本.

    • 对我来说似乎是一个糟糕的解决方案,因为这会导致比我想要的更多的停机时间.
  2. 创建一个存在于远程服务器上的脚本,以便在新构建过程之后清理文件.我需要从git(不知何故?)找出该提交中删除的文件是什么.

  3. 不是让Jenkin使用发布ssh插件,而是在生产服务器上安装了git,所以在成功构建之后,我们可以让Jenkins(不知何故?)将项目推送到git生产服务器.

这似乎是开发人员的常见任务,我觉得我在这里缺少一些东西.这有什么标准做法吗?

小智 -1

也许这个答案已经太晚了,但我认为其他人也在寻找这个。我找到了一种解决方案,可以在开发中删除文件后删除生产服务器上的文件。
在 Jenkins 中,您使用 rsync 在开发和生产之间同步文件。在最后添加这一行 --delete
就可以了