正在将源部署到web服务器,同时删除不需要的文件



使用visual studio for web为asp.net开发时,当您将网站部署到web服务器时,它会巧妙地检查哪些文件已更改,并只上传这些文件,这真的很方便。此外,如果您从源中删除了一些文件,它也会检测到这一点,并从web服务器中删除这些文件,因为它们不再需要。

我开始使用LAMP堆栈进行开发,并想知道如何以类似的方式部署到web服务器。

我尝试使用Filezilla并将源文件复制/粘贴到web服务器上,如果有类似的文件,您可以选择以下选项:

-覆盖-如果源更新则覆盖-如果大小不同则覆盖-如果大小不同或来源更新,则覆盖

"如果源更新则覆盖"是可行的,但它只检查修改日期,而不检查文件的内容。此外,上述方法不会从web服务器中删除从源中删除的文件。

Filezilla有更好的方法吗?(或者可能使用其他程序?)

谢谢。

您可以使用rsync来实现这一点。

当您想推出更改时,您可以在生产服务器上执行类似的操作。

rysnc -av user@<developmentIp>:/web/root/* /production/web/root/

图案为rsync --flags [user@host:]/source/dir [user@host:]/destination/dir

你只需要user@host远程主机的东西。用户必须具有对主机的ssh访问权限。

一些小建议。

  • 该命令可以从源或目标运行。我发现从目的地运行命令更好,因为权限问题(即从远程读取和写入本地)

  • 先做一些测试,我总是把目录里的东西搞混;我需要结尾斜线吗,我应该用星号吗。。。

  • 阅读手册页,有很多可用的选项可能会有所帮助(--delete--exclude-a

最新更新