【问题标题】:How can I deploy ASP.NET (mvc) site using GIT and for ex. beanstalkapp.com via FTP?如何使用 GIT 和前部署 ASP.NET (mvc) 站点。 beanstalkapp.com 通过 FTP?
【发布时间】:2023-03-20 15:02:01
【问题描述】:

问题是,当我提交项目目录时,上传了包括源代码在内的所有内容。

【问题讨论】:

    标签: asp.net asp.net-mvc git deployment


    【解决方案1】:

    这有关系吗?由于 asp.net 页面可以在服务器上编译,因此在 web 服务器上拥有源文件有时是正常的,因此 IIS 知道不允许访问它们。

    也就是说,将输出二进制文件上传到源代码管理通常是个坏主意 - 最好从构建服务器进行部署。

    【讨论】:

    • MVC 不是页面,而是应用程序。
    • 即使在 MVC 中,应用程序也是由页面(视图)组成的。一般cs文件会被vs/msbuild编译成主项目程序集,但是aspx/cshtml文件还是会在web服务器上解析。
    【解决方案2】:

    不确定为什么要通过 FTP 上传?不过,您不应该将自己编译的二进制文件提交到源代码管理以进行部署。

    您可以查看AppHarbor,只需使用 git 推送您的代码,它将自动构建和部署。

    更多关于 AppHarbor

    Real alternatives to Windows Azure PaaS (web role)?

    【讨论】:

      【解决方案3】:

      其实这有点难。

      几个月来,我一直在尝试自动化我们的部署,但没有绝对成功。根据我的经验,我只能看到这样做的方法:

      在您的部署机器(或同一网络)上有一个构建服务器

      构建服务器将从存储库中提取您的代码,例如,每分钟一次,并检查修改。如果有修改,它将执行与该项目相关的构建脚本。我建议您使用 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 成功部署了他的应用程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-08
        • 1970-01-01
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多