如何配置AWS CodeBuild以构建ASP.NET 4应用程序

时间:2017-09-13 16:56:51

标签: .net amazon-web-services asp.net-mvc-4 aws-codebuild

我查看了AWS CodeBuild文档并以各种形式搜索了这个问题,但没有发现任何相关内容。

我有一个ASP.NET 4 MVC应用程序,它面向.NET Framework 4.5.2。 最重要的是将此应用程序从git存储库自动部署到多台Windows机器。

我有使用AWS CLI和AWS CodeDeploy的脚本来构建应用程序并将其从我的开发机器部署到我们的服务器。这些脚本运行正常。

我无法弄清楚如何做的下一步是使用AWS CodeBuild(或者我应该使用其他AWS事物或不使用AWS的东西)来从git存储库中提取代码并运行我的构建脚本(不在我的开发机器上)。但似乎CodeBuild只能用于Unix / Linux环境而不能用于Windows + .NET Framework。

问题是: 有没有办法使用CodeBuild或其他一些AWS服务从git存储库中提取代码并构建面向.NET Framework的ASP.NET 4应用程序以及如何执行此操作?

2 个答案:

答案 0 :(得分:1)

除非最近发生了某些变化,否则AWS CodeBuild仅支持.net Core应用程序,而不支持传统的.net框架。

您可以在EC2实例上安装Jenkins(或其他类似工具)并将其集成到您的流程中,但这需要您自己完成大部分工作。

答案 1 :(得分:0)

Amazon as of May-2018支持Windows主机。将其与Microsoft .NET Framework Build Image结合使用,我就能使其正常工作。这是一个初步的buildspec.yml,供您开始使用:

version: 0.2

# Assumes the image is microsoft/dotnet-framework:4.7.2-sdk or similar
phases:
  install:
    commands:
      # Below is the URL for the MSI linked from https://www.iis.net/downloads/microsoft/web-deploy
      - Invoke-WebRequest -OutFile WebDeploy_amd64_en-US.msi https://download.microsoft.com/download/0/1/D/01DC28EA-638C-4A22-A57B-4CEF97755C6C/WebDeploy_amd64_en-US.msi
      - msiexec /i WebDeploy_amd64_en-US.msi /quiet
      # MSIExec will return before it is actually done - 30s seems to work...
      - Start-Sleep 30
  pre_build:
    commands:
      - nuget restore
  build:
    commands:
      - msbuild /P:Configuration=Release /T:Build,Package