我已经做了一些挖掘,但我没有找到任何最近的文件:
我有一个.NET 4.6解决方案,包含许多我现在希望部署到云中的项目 - 特别是作为Azure云服务。
最好不要在我的解决方案中创建Cloud Service项目,因为我认为这是一个部署细节,因此与我的解决方案无关,可以轻松地在本地IIS计算机上托管,甚至IIS Express。因此,我发现需要在我的解决方案中添加云服务项目的所有文档都感觉很脏。
我有Jenkins和Octopus Deploy用于我的部署工具,我想,如果可能,让他们直接部署项目 - 看起来Octopus开箱即用,除了一个细节,我有一个启动脚本将需要在Azure云服务上运行:
对于内部部署或本地IIS安装,这不会有问题,因为Octopus Tentacle可以在服务器上运行脚本以确保存在正确版本的.NET Framework和SSL的安装cert,但我无法理解如何在Azure云服务上镜像此任务。
答案 0 :(得分:0)
首先,您必须从章鱼脚本自动部署云服务。例如,在PowerShell中,您可以通过以下方式对其进行编码:
function CreateNewDeployment()
{
write-progress -id 3 -activity "Creating New Deployment" -Status "In progress"
Write-Output "$(Get-Date –f $timeStampFormat) - Creating New Deployment: In progress"
$opstat = New-AzureDeployment -Slot $slot -Package $packageLocation -Configuration $cloudConfigLocation -label $deploymentLabel -ServiceName $serviceName
$completeDeployment = Get-AzureDeployment -ServiceName $serviceName -Slot $slot
$completeDeploymentID = $completeDeployment.deploymentid
write-progress -id 3 -activity "Creating New Deployment" -completed -Status "Complete"
Write-Output "$(Get-Date –f $timeStampFormat) - Creating New Deployment: Complete, Deployment ID: $completeDeploymentID"
#StartInstances
}
$packageLocation = "$currentDirectory/$packagefile"
$cloudConfigLocation = "$currentDirectory/$cloudConfigFile"
Import-AzurePublishSettingsFile $publishsettings
Set-AzureSubscription -SubscriptionName $azureSubscription -CurrentStorageAccount $storageAccount
CreateNewDeployment
其次,您必须使用提升的执行上下文配置启动任务才能运行启动脚本。
启动任务是云服务的一项独特功能,使您可以在角色启动之前对角色实例执行虚拟机配置更改。
使用<Task>
或<WebRole>
元素中的<WorkerRole>
元素在云服务定义(.csdef)文件中定义启动任务。 <Task>
元素包含三个属性,可用于影响任务的权限和行为,这些属性包括:
taskType可以是简单,前景或 背景。在角色之前同步执行简单任务 开始。前台和后台任务是异步执行的 与角色并行。前台任务可以保持角色运行 并防止它关闭或回收。后台任务会 如果角色需要关闭或被回收,请停止
任务commandLine =“startup \ startup.cmd”executionContext =“elevated”taskType =“simple”
参考文档在这里 https://azure.microsoft.com/en-us/documentation/articles/cloud-services-startup-tasks/ 希望这可以帮助 新年快乐 ! 最好的祝福 斯特凡
答案 1 :(得分:0)
基本上,Cloud Service Project可帮助您编写所需文件,打包解决方案并进行部署。这些步骤可以分解为各个任务,其中创作和部署部分由stephgou和Lister先生描述。
要打包,您需要使用CSPack.exe。 https://azure.microsoft.com/en-us/documentation/articles/cloud-services-model-and-package/#servicepackagecspkg
另请参阅此处了解该过程。另一个答案中提供的PowerShell将替换本文中的GUI指南:https://azure.microsoft.com/en-us/documentation/articles/cloud-services-how-to-create-deploy-portal/