ASP.NET MVC AWS Elastic Beanstalk 构建和部署命令行

ASP.NET MVC AWS Elastic Beanstalk build and deploy command line

有没有人有 link 构建 ASP.NET MVC 项目所需脚本的可靠示例,将其打包用于 awsdeploy,然后通过命令行将其部署到 Elastic Beanstalk ? Amazon 工具提供的 VisualStudio 中的点击工具非常有用,直到团队开始壮大并且您需要使用构建服务器进行自动化。

如有任何帮助,我们将不胜感激。

要使用命令行将 ASP.NET 项目部署到 Elastic Beanstalk,您需要完成两个步骤:

  1. 将您的项目构建到 IIS 部署包中
  2. 使用 AWSDEPLOY 发送包

第 1 步:构建您的程序包

使用 msbuild.exe,传递项目路径、带有包说明的发布配置文件选项和 "DeployOnBuild" 选项为真。

msbuild.exe "MyMvcProject.csproj" /p:Configuration=Release /p:PublishProfile=MyMvcProjectProfile /p:DeployOnBuild=True

在发布配置文件中 (MyMvcProjectProfile.pubxml)

  <PropertyGroup>
    <WebPublishMethod>Package</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <DesktopBuildPackageLocation>$(SolutionDir)\Build\MyMvcProject.zip</DesktopBuildPackageLocation>
    <PackageAsSingleFile>true</PackageAsSingleFile>
    <DeployIisAppPath>Default Web Site/</DeployIisAppPath>
  </PropertyGroup>

建议:第一次尝试使用VisualStudio Publish 选项生成此文件,然后再对其进行编辑。

第 2 步:将包发送到 Elastic Beanstalk

传递您在上面创建的包、具有创建 Beanstalk 更新环境所需权限的 AWS 配置文件名称和 "config" 部署文件。

awsdeploy.exe -w -r "-DDeploymentPackage=/Build/MyMvcProject.zip" "-DAWSProfileName=%username%" "beanstalk-deploy-package.txt"

beanstalk-deploy-package.txt 文件用于指定 Elastic Beanstalk 部署参数

Region = us-east-1
Template = ElasticBeanstalk
UploadBucket = elasticbeanstalk-us-east-1-XXXXXXXXXXXX
Application.Name = MyMvcProject
Environment.Name = production

我希望您可以根据自己的需要调整脚本。

您可以在 AWS DOCS

上找到更多信息

此致