工具准备

  • kudu程序

  • Dotnet SDK和Dotnet Runtime(可选,当你需要自动部署netcore程序时需要,自行下载或安装对应的版本)

  • MSBuild或VS(可选,当你需要自动部署.net程序时需要,vs或msbuild只需要安装一个,自行下载或安装对应的版本)

  • Nodejs

  • Git

  • IIS

    工具安装步骤

    在部署kudu之前请将iis,nodejs,dotnet sdk,dotnet runtime,git客户端安装完毕,我就当所有的阅读本篇文章的人都知道如何安装那些工具,
    不会的请自行百度

  • 直接在iis上部署kudu已发布的程序

    • 下载并解压kudu程序,解压后的目录结构如下
      • avatar
    • 把SiteExtensions目录下的文件夹kudu移动到和KuduWeb同一目录层级,并命名Kudu.Services.Web
    • 在KuduWeb目录下新建一个空的文件夹,命名为App_Data
    • 最终的目录结构如下:
      • 关于为何这样配置目录,也许你可以从KuduWeb下web.config找到一些蛛丝马迹,当然,通过阅读官方文档会更有帮助,如果想尽快了解,可以查看这个人的回答
      • avatar
      • avatar
    • 新建一个iis站点,物理路径设置为上文提到的KuduWeb
    • 最重要的一点是:编辑应用程序池,把.net clr 设置为v4.0,把标识设置为LocalSystem,如下图:
      • avatar
    • 访问kudu程序,看到下面这样的页面表示kudu部署成功了:
      • avatar
  • 通过源代码发布kudu程序

    • 通过Git客户端拉取在github上的kudu源码
    • 将文件kudu/Kudu.Core.Test/HgRepositoryFacts.cs中所有的[fact]注释掉(该类不是针对Git的单元测试)
    • 使用powershell运行根目录下的build.cmd,执行完毕之后,会在根目录生成一个artifacts文件夹,该文件夹内的内容就是根据kudu源码发布的releases程序,参照上文提到的相关教程将其部署在iis上即可

kudu程序的使用

  • 使用kudu新建一个自动化部署的程序
    • 打开我们刚刚部署好的kudu程序
    • 点击 Create Application,随意输入程序名创建一个程序
    • 打开我们的iis,发现多了两个项目:
      未完待续