Currently all publishing settings are gathered from a .ps1 file. This makes it difficult to automate publishing to many environments.
We should be able to pass in specific parameters through the command line. This should be additive to the PublishConfiguration.ps1 file. When specific parameters are passed in they should take precedence over those found in the PublishConfiguration.ps1.
Update to support passing in cmd line parameters when NonInteractive.…
… Resolve #42
Nice! This one would have been my second pick to be resolved!
You can now pass in the Web Deploy parameters as a command line parameter.
If you are using a PublishConfiguraiton.ps1 you can just add the parameters to the end of the call to Publish-Interactive.ps1 as follows.
.\Publish-Interactive.ps1 "Computer name=waws-prod-bay-001.publish.azurewebsites.windows.net:443;Password=your-password-here'
If a parameter exists in both PublishConfiguraiton.ps1 as well as the command line, the command line value wins.
If you want to pass in all the Web Deploy parameters, and not use a PublishConfiguration.ps1 file then you need to additionally pass in the -NonInteractive switch.
.\Publish-Interactive.ps1 -NonInteractive 'Computer name=waws-prod-bay-001.publish.azurewebsites.windows.net:443;Password=your-password-here;IIS Web Application Name=sayedsample;Username=$sayedsample;Allow untrusted certificate=true;whatif=true;TransformName=release'
I have a drop for testing available at https://dl.dropbox.com/u/40134810/PackageWeb/issue-42/PackageWeb.126.96.36.199.zip.
Excellent! Does it matter if I use single or double quotes when entering params on the command line?
It shouldn't matter but they have different behavior in PowerShell. If you are not familiar with that I'd suggest you to look it up.
Note that this seems to be broken in the latest version - the workaround is to have a dummy PublishConfiguration.ps1 file and still specify your commands, so it looks something like;
.\Publish-Interactive.ps1 -NonInteractive PublishConfiguration.ps1 'Computer name=waws-prod-bay-001.publish.azurewebsites.windows.net:443;Password=your-password-here;IIS Web Application Name=sayedsample;Username=$sayedsample;Allow untrusted certificate=true;whatif=true;TransformName=release'