Azure的默认教程介绍了如何从头开始创建项目,并将其部署到Azure Cloud Service。在尝试部署现有项目时,我遇到了意想不到的问题。
所以,我所拥有的是存储在GIT中的几个项目的Web解决方案。在解决方案中有一个主项目,它包含所有关系,在构建完该项目的文件夹之后就可以部署到服务器了。
问题是 - 如何为Azure部署配置项目,并通过CLI工具为其构建部署包?
答案 0 :(得分:5)
经过一段时间的研究,我找到了一个有效的解决方案。
旧网站解决方案应该准备一点:
Cloud -> Azure Project
的解决方案中,但不要在此步骤中选择角色; 在此步骤中,您可以从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 (特别是介绍视频)。