如何部署到Azure云服务

时间:2013-08-16 16:13:25

标签: asp.net .net azure deployment azure-cloud-services

Azure的默认教程介绍了如何从头开始创建项目,并将其部署到Azure Cloud Service。在尝试部署现有项目时,我遇到了意想不到的问题。

所以,我所拥有的是存储在GIT中的几个项目的Web解决方案。在解决方案中有一个主项目,它包含所有关系,在构建完该项目的文件夹之后就可以部署到服务器了。

问题是 - 如何为Azure部署配置项目,并通过CLI工具为其构建部署包?

2 个答案:

答案 0 :(得分:5)

经过一段时间的研究,我找到了一个有效的解决方案。

旧网站解决方案应该准备一点:

  1. 在Azure帐户中设置存储和云服务;
  2. 安装Azure SDK,如果需要,Powershell Azure Cmdlets(在Azure SDK 2.0之前,它们未集成到SDK中);
  3. 将新项目添加到类型为Cloud -> Azure Project的解决方案中,但不要在此步骤中选择角色;
  4. 右键单击角色并从现有Web项目添加。
  5. 在此步骤中,您可以从Visual Studio的下拉菜单(例如“发布...”或“包...”)部署解决方案。但首先要配置你的角色。

    要自动部署程序包,只需执行描述here的脚本。这是我发现的最干净的脚本,它正在制作任何Azure SDK的部署过程。

    要制作自动项目包,只需运行以下powershell脚本:

    $project = resolve-path ".\..\relative\path\to\azure\deploy\project.ccproj"
    Import-Module -Name ".\Invoke-MsBuild.psm1"
    $buildSucceeded = Invoke-MsBuild -Path $project -P '/p:configuration=release /p:overwritereadonlyfiles=true /p:targetprofile="Cloud" /target:Clean;Publish'
    if ($buildSucceeded)
    { Write-Host "Build completed successfully." }
    else
    { Write-Host "Build failed. Check the build log file for errors." }
    

    对于此脚本,您需要Invoke-MsBuild

答案 1 :(得分:1)

绝对可能。如果使用Azure网站,您可以执行git-deploy,dropbox等。如果是Cloud Services(Web角色),您可以通过visual studio(IDE或命令行)构建,然后使用PowerShell部署该软件包。

编辑使用PowerShell的快速​​示例,在本地创建云服务(通过New-AzureServiceProject和[Add-AzureWebRole(http://msdn.microsoft.com/en-us/library/windowsazure/dn205203.aspx)):

New-AzureServiceProject -ServiceName myservice
Add-AzureWebRole -Name MyWebRole

您可以将代码添加到创建的Web角色中,并使用msbuild构建它(并cspack将其打包)。然后,您可以通过New-AzureDeployment

使用PowerShell部署构建的程序包
New-AzureDeployment -ServiceName "mynewservice" -Slot "production -Package packagepath -Configuration configpath -Label "my service deployment"

请注意,使用包和配置路径,它们可以是本地路径或blob(在调用New-AzureDeployment之前,您需要将它们上传到blob)。另请查看Publish-AzureServiceProject

注意:Azure PowerShell cmdlet引用为here。但是......如果您在PS命令行输入get-help *azure*,您将看到最新的cmdlet,然后您可以查看各个cmdlet的帮助。)

除此之外,我不确定你到底想要什么。但我强烈建议花一些时间在command-line tools + documentation上,并在asp.net + Azure上运行一些基本教程,例如网站this one和云服务this one (特别是介绍视频)。