Azure:如何使用 VSTS 发布 Web 应用

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Microsoft网络

小提示:您能找到这篇{Azure:如何使用 VSTS 发布 Web 应用}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Azure:如何使用 VSTS 发布 Web 应用内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">本文展示了如何构建VSTS与中国Azure账户之间的连接。开发人员在Github上集成后,编译并测试通过,再发布到Azure Web应用上,期望的是持续集成持续发布,也就是CICD。我们可以通过Visual Studio Online(简称VSO),与Azure服务的集成,使用非常方便。

< ">具体步骤如下:

< ">1.登陆VSO并创建VSTS项目。

< ">2.构建VSTS与中国Azure账户之间的连接。

< ">a.首先调用Powershell脚本来注册当前VSTS服务到AzureAD里面,并授予它相应Azure资源的Contributor权限,比如资源组或者整个订阅,当然也可以是某个资源。

< ">b.安装Azure PowerShell,并将以下PowerShell脚本保存为:RegisterVstsMooncake.ps1。

< ">PowerShell

< ">param

< ">(

< ">[Parameter(Mandatory=$true,HelpMessage="Enter Azure Subscription name.You need to be Subscription Admin to execute the script")]

< ">[string]$subscriptionName,

< ">[Parameter(Mandatory=$true,HelpMessage="Provide a password for SPN application that you would create")]

< ">[string]$password,

< ">[Parameter(Mandatory=$false,HelpMessage="Provide a SPN role assignment")]

< ">[string]$spnRole="contributor",

< ">[Parameter(Mandatory=$false,HelpMessage="If assign role for target resource group,provide its name")]

< ">[string]$resourceGroupName

< ">)

< ">#Initialize

< ">$ErrorActionPreference="Stop"

< ">$VerbosePreference="SilentlyContinue"

< ">$userName=$env:USERNAME

< ">$newguid=[guid]::NewGuid()

< ">$displayName=[String]::Format("VSO.{0}.{1}",$userName,$newguid)

< ">$homePage="http://"+$displayName

< ">$identifierUri=$homePage

< ">#Initialize subscription

< ">$isAzureModulePresent=Get-Module-Name AzureRM*-ListAvailable

< ">if([String]::IsNullOrEmpty($isAzureModulePresent)-eq$true)

< ">{

< ">Write-Output"Script requires AzureRM modules to be present.Obtain AzureRM from https://github.com/Azure/azure-powershell/releases.Please refer https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/DeployAzureResourceGroup/README.md for recommended AzureRM versions."-Verbose



< ">return

< ">}

< ">Import-Module-Name AzureRM.Profile

< ">Write-Output"Pr厦门电商网站开发ovide your credentials to access Azure subscription$subscriptionName"-Verbose

< ">Login-AzureRmAccount-SubscriptionName$subscriptionName-Environment'AzureChinaCloud'

< ">$azureSubscription=Get-AzureRmSubscription-Sub萍乡小程序scriptionName$subscriptionName

< ">$connectionName=$azureSubscription.Name

< ">$tenantId=$azureSubscription.TenantId

< ">$id=$azureSubscription.Id

< ">$securePASS=ConvertTo-SecureString-String$password-AsPlainText-Force

< ">#Create a new AD Application

< ">Write-Output"Creating a new Application in AAD(App URI-$identifierUri)"-Verbose

< ">$azureAdApplication=New-AzureRmADApplication-DisplayName$displayName-HomePage$homePage-IdentifierUris$identifierUri-Password$securePASS-Verbose

< ">$appId=$azureAdApplication.ApplicationId

< ">Write-Output"Azure AAD Application creation completed successfully(Application Id:$appId)"-Verbose

< ">#Create new SPN

< ">Write-Output"Creating a new SPN"-Verbose

< ">$spn=New-AzureRmADServicePrincipal-ApplicationId$appId



< ">$spnName=$spn.ServicePrincipalNames[0]

< ">Write-Output"SPN creation completed successfully(SPN Name:$spnName)"-Verbose

< ">#Assign role to SPN

< ">Write-Output"Waiting for SPN creation to reflect in Directory before Role assignment"

< ">Start-Sleep 20

< ">if([String]::IsNullOrEmpty($resourceGroupName)-eq$true)

< ">{

< ">Write-Output"Assigning role($spnRole)to SPN App($appId)"-Verbose

< ">New-AzureRmRoleAssignment-RoleDefinitionName$spnRole-ServicePrincipalName$appId

< ">}

< ">else

< ">{

< ">Write-Output"Assigning role($spnRole)to SPN App($appId)for resource group($resourceGroupName)"-Verbose

< ">New-AzureRmRoleAssignment-ResourceGroupName$resourceGroupName-RoleDefinitionName$spnRole-ServicePrincipalName$appId

< ">}

< ">Write-Output"SPN role assignment completed successfully"-Verbose

< ">#Print the values

< ">Write-Output"`nCopy and Paste below values for Service Connection"-Verbose

< ">Write-Output"***************************************************************************"

< ">Write-Output"Connection Name:$connectionName(SPN)"

< ">Write-Output"Subscription Id:$id"

< ">Write-Output"Subscription Name:$connectionName"

< ">Write-Output"Service Principal Id:$appId"

< ">Write-Output"Service Principal key:<Password that you typed in>"

< ">Write-Output"Tenant Id:$tenantId"

< ">Write-Output"***************************************************************************"

< ">c.执行以下命令:

< ">PowerShell

< ">.RegisterVsts2Mooncake.ps1-subscriptionName'[YourAzureChinaSubscriptionName]'-password'[YourPassword]'-resourceGroupName'[YourAzureChinaResourceGroup]'

< ">备注

< ">第一个参数subscriptionName是订阅名称,password是密码。注意这个密码不一定是AzureChina登录的密码,我们可以设置为其他的密码。请牢记这个密码,我们会在后续步骤中使用,resourceGroupName是资源组名称。

< ">d.登录VSTS,在创建的项目的主页上,点击设置->Services->New Service Endpoint->Azure Resource Manager。

< ">3.在弹出的对话框里,点击文字链接“use the full version of the endpoint dialog.”,会出现如下对话框,输入前面脚本的输出值,然后可以点击“Verify connection”验证连接。

< ">此时创建好连接之后,便可以进行持续发布了。

< ">4.发布Azure Web应用。

< ">在build and release标签页下的Builds选项中选择template为ASP.net(如果项目为.netcore选择Asp.net core)。

< ">在Releases选项中选择Azure App Service Deployment即可成功发布。

< ">或者在build选项中选择template为Azure Web App for ASP.NET,直接进行发布。

Azure:如何使用 VSTS 发布 Web 应用

上一篇:Azure:如何理解 Windows 虚拟机的网络指标
下一篇:Azure SQL Database 连接问题常见排查方法


版权声明:以上主题为“Azure:如何使用 VSTS 发布 Web 应用"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    Azure:如何使用 VSTS 发布 Web 应用
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“Azure:如何使用 VSTS 发布 Web 应用”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Azure:如何使用 VSTS 发布 Web 应用的相关事宜。

关键词:Azure:如何使用,VSTS,发布

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号