时间: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:如何理解 Windows 虚拟机的网络指标
下一篇:Azure SQL Database 连接问题常见排查方法
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“Azure:如何使用 VSTS 发布 Web 应用”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Azure:如何使用 VSTS 发布 Web 应用的相关事宜。
关键词:Azure:如何使用,VSTS,发布