【问题标题】:Auto-Deploy on IIS from Github?从 Github 在 IIS 上自动部署?
【发布时间】:2012-05-01 18:18:44
【问题描述】:

我找到了一种使用 .php 页面进行自动部署的方法,该方法使用 Post-Receive URL 快速而肮脏。因此,您将以下内容放入您网站的页面中:

<?php `git pull`; ?>

将该页面的 URL 放入 GiHub,然后自动部署。效果很好。 .ASP 是否有类似或等效的内容?我有一个在 IIS 6.0 上运行的站点,如果能做一个 ASP 等价物会很棒。

我通过关于在 IIS 服务器上安装 PHP,似乎只是一个页面的浪费,并且会让我面临 PHP 安全和修补问题。而只是使用一些 .ASP 代码。

可以通过 Google、GitHub:Gists 或 iis.net 找到我需要的内容。

谢谢!

【问题讨论】:

    标签: asp.net .net iis github deployment


    【解决方案1】:

    我对 PHP 了解不多,除了它是一种脚本语言。但是需要构建 ASP.NET 项目。无论如何,您可以使用 Paas 平台来简化流程,例如 AppHarbor(或凯利提到的 Azure)。

    【讨论】:

    • AppHarbor 是一个 PAAS 提供者...这是现有服务器上的现有站点,而不是仅仅为了部署而移动提供者。很高兴知道未来的任何需求
    • 借助 asp.net,您可以使用 azure 自动拉取和部署最新更改。还有更多支持的场景。
    【解决方案2】:

    首先,你需要在你的服务器上安装 git。 然后从您的 asp 页面运行 git 命令。 如果您使用 asp classic,请尝试以下操作:

    <%
        Dim oShell
        Set oShell = Server.CreateObject("Wscript.Shell")
        oShell.Run "git pull"
        Set oShell = Nothing
    %>
    

    它将完成与 PHP 相同的工作。

    如果您正在寻找 asp.net 版本。 我在 github 上有一个简单的项目: https://github.com/tshwangq/IISDeploy

    【讨论】:

      【解决方案3】:

      在 PHP 中使用来自 GitHub 的 Webhook-URL 的服务挂钩(以前称为 Post-Receive-URL)很容易。正如你所说。基本上,git pull 命令集成在大多数 Apache 环境中。这不是 ASP.NET 的情况。

      简单地说:使用 PHP,您只需从 GitHub > Webserver 复制相应的文件。另一方面,ASP.NET(或大多数 .NET 环境)首先需要要编译的项目。因此,仅在 IIS 上安装 PHP 并不能完成工作。

      因此,为了让 ASP.NET 项目为您工作,您需要:

      1. 为下载最新文件的Post-Receive hook 创建消费者
      2. Compile the files 在网络服务器上
      3. 将构建结果复制到所需文件夹

      很遗憾,我还没有遇到一个可行的示例。

      【讨论】:

      • 我们中的一些人使用带有未编译语言(Php、Asp Classic)的 IIS7。了解如何自动执行 Git Pull 会很有用
      猜你喜欢
      • 2022-01-20
      • 2016-03-08
      • 2020-08-24
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多