2017-06-05 45 views
-1

我想將帶有相關PS腳本的ARM模板Project發送給第三方。他們可能會在VS中部署選項來進行部署。可以將DSC腳本附加爲ARM項目的一部分,並在部署時從本地磁盤拾取dsc腳本?在設置下,我們有「ModulesUrl」這是可能的,它指向本地磁盤類似於C另一個參數替換此:\ MyProject的\ IISInstall.ps1.zip帶DSC擴展的ARM模板:本地destop的Powershell文件位置

{ 
    "apiVersion": "2015-06-15", 
    "dependsOn": [ 
    "[concat('Microsoft.Compute/virtualMachines/', parameters('webSrvVmName'))]" 
    ], 
    "location": "[resourceGroup().location]", 
    "name": "qawebsrv/iisinstall", 
    "properties": { 
    "publisher": "Microsoft.Powershell", 
    "type": "DSC", 
    "typeHandlerVersion": "2.19", 
    "autoUpgradeMinorVersion": true, 
    "settings": { 
     "ModulesUrl": "https://dscscript.blob.core.windows.net/dscscripts/IISInstall.ps1.zip", 
     "ConfigurationFunction": "[variables('configurationFunction')]", 
     "Properties": {}, 
     "SasToken": "", 
     "wmfVersion": "4.0" 
    }, 
    "protectedSettings": {} 
    }, 
    "tags": { 
    "displayName": "VM Extensions" 
    }, 
    "type": "Microsoft.Compute/virtualMachines/extensions" 
} 

回答

0

如果你打算使用VS做部署,然後VS可以階段DSC包您滿意 - 在VS部署腳本做到這一點......其實是可以打造的DSC包爲好,但是這有一些限制。

沒有什麼神奇的關於VS腳本 - 這個回購具有使用由VS使用了相同的腳本DSC樣品 - 見:https://github.com/bmoore-msft/AzureRM-Samples/tree/master/VMDSCInstallFile

一個「Hello World」的例子......

0

不,這是不可能的。最接近你的是將你的腳本上傳到一個公共可用的地方,虛擬機將把它提取出來。

"properties": { 
    "publisher": "Microsoft.Powershell", 
    "type": "DSC", 
    "typeHandlerVersion": "2.20", 
    "autoUpgradeMinorVersion": true, 
    "settings": { 
     "configuration": { 
      "url": "https://github.com/xxx.zip", 
      "script": "scriptname.ps1", 
      "function": "main" 
     }, 
     "configurationArguments": {} 
    }, 
    "protectedSettings": {} 
}