【发布时间】:2023-03-20 15:02:01
【问题描述】:
问题是,当我提交项目目录时,上传了包括源代码在内的所有内容。
【问题讨论】:
标签: asp.net asp.net-mvc git deployment
问题是,当我提交项目目录时,上传了包括源代码在内的所有内容。
【问题讨论】:
标签: asp.net asp.net-mvc git deployment
这有关系吗?由于 asp.net 页面可以在服务器上编译,因此在 web 服务器上拥有源文件有时是正常的,因此 IIS 知道不允许访问它们。
也就是说,将输出二进制文件上传到源代码管理通常是个坏主意 - 最好从构建服务器进行部署。
【讨论】:
不确定为什么要通过 FTP 上传?不过,您不应该将自己编译的二进制文件提交到源代码管理以进行部署。
您可以查看AppHarbor,只需使用 git 推送您的代码,它将自动构建和部署。
更多关于 AppHarbor
【讨论】:
其实这有点难。
几个月来,我一直在尝试自动化我们的部署,但没有绝对成功。根据我的经验,我只能看到这样做的方法:
在您的部署机器(或同一网络)上有一个构建服务器
构建服务器将从存储库中提取您的代码,例如,每分钟一次,并检查修改。如果有修改,它将执行与该项目相关的构建脚本。我建议您使用 TeamCity,因为与 CruiseControl (I'm not sure if you can use Git with TFS) 相比,它非常易于使用。您可以对构建服务器进行编程以构建您的解决方案或项目,之后,您可以执行 msbuild 脚本将文件复制到生产文件夹(例如:c:\inetpub\yourapp 或 \\my_server\inetpub\yourapp)。您可以使用 MSBuild 的 Copy Task 来执行此操作。
更新 1:我没试过,但如果有帮助,您可以使用 git-ftp 推送到 FTP 服务器
更新 2: 似乎 some guy did some workarounds 并使用 git 和 FTP 成功部署了他的应用程序。
【讨论】: