Coder Social home page Coder Social logo

microsoft / azure-pipelines-extensions Goto Github PK

View Code? Open in Web Editor NEW
273.0 56.0 422.0 21.38 MB

Collection of all RM and deployment extensions

Home Page: http://www.visualstudio.com/explore/release-management-vs

License: MIT License

PowerShell 59.26% JavaScript 9.98% TypeScript 23.01% HTML 0.06% C# 7.54% Handlebars 0.15%

azure-pipelines-extensions's Introduction

Azure Pipeline extensions for Azure DevOps

This repository is a common place for some extensions that Azure DevOps team publishes as Microsoft or Microsoft DevLabs publisher.

How to Build

Ensure you have installed Node.js. Clone the repository, and go to the root folder of the repository and run the following commands.

  • npm install will install all the node modules required to run gulp to package, build etc.
  • gulp build will copy each task to "_build" folder, and install it's dependencies locally (wrt to the task) and copies the common modules required to run the task.
  • gulp test will run all pester or mocha tests written for each task, in the Tests folder.

How to package extensions

You'll have to run gulp build and gulp test before you start packaging.

  • gulp package will package all the extensions and stores them in "_package" folder.
  • gulp package --publisher=<publisher_name> will package all the extensions under a new publisher name that you specify in "_package" folder.
  • gulp package --extension=<extension_name> will package the single extension you mention, and stores it in "_package" folder.
  • PS: Tested the compatibility with node version 10.22.0 on a windows machine.

Updating Feed

Feed with various nugets to consume resides at this location

Feed can be updated/republished by executing this build definition

Contact Information

Extensions authored by the Microsoft publisher are supported by Microsoft.

The following extensions authored by the Microsoft DevLabs publisher are currently supported by Microsoft partner Solidify:

  • Terraform. The Terraform extension has a new home at https://github.com/microsoft/azure-pipelines-terraform. To report a problem with the Terraform extension, create an issue in that repository. The maintainers of this repository will review and respond to the issue.
  • Optimizely. This extension has been deprecated and is no longer maintained or supported.
  • Google Analytics. This extension has been deprecated and is no longer maintained or supported.
  • Datasources. This extension has been deprecated and is no longer maintained or supported.
  • TwitterSentimentAnalysis. This extension has been deprecated and is no longer maintained or supported.

azure-pipelines-extensions's People

Contributors

ambrishm avatar anumita avatar arjgupta avatar asranja avatar bansalaseem avatar chshrikh avatar githubsriramb avatar gykuma avatar hililh avatar hiyadav avatar kasubram avatar krishnaadityab avatar lefttwixwand avatar mericstam avatar mmrazik avatar mvvsubbu avatar niadak avatar nishubansal avatar omeshp avatar ozanmsft avatar pavanadepu2 avatar pavanvamsi3 avatar pradeepjsr05 avatar rajatagrawal-dev avatar romil07 avatar silviuandrica avatar sureshtadisetty avatar thesattiraju avatar v-mohithgc avatar vithati avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

azure-pipelines-extensions's Issues

trailing backslash in physical path causes illegal character in iis

When using C:\domains\mydomian\project\ as Physical Path in Website from the WinRm - IIS Web App Management task the iis basic settings physical path is malformed/corrupted on execution. Thus a following WinRM - IIS Web App Deployment task fails with the "illegal character in path" message.
a pic says more than 1k words

Usually you'd expect paths be accepted both ways, with and without trailing path separator.

https binding with SNI fails if website name has spaces

  • Add a WinRM - IIS Web App Management task
  • Check "Create or Update Website"
  • Set "Website Name" to Default Web Site
  • Check "Server Name Indication Required"
  • Complete other parameters

The release fails and in the logs we have:

2016-10-07T15:17:49.9147719Z Deployment failed on machine XYZ with following message : System.Exception: Failed to process input: The parameter 'Site' must begin with a / or - (HRESULT=80070057).

Extension is not installable on any currently installed products

Running TFS 2015 Update 3 (14.102.25423.0 (Tfs2015.Update3))
When I try to install the extension it fails with the following. The full log file is attached

21/12/2016 4:54:26 PM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
at VSIXInstaller.App.InitializeInstall(Boolean isRepairSupported)
at VSIXInstaller.App.InitializeInstall()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()

VSIXInstaller_017e5280-1c57-482e-af84-dc2ad970da77.txt

Override parameters

When using WinRm - IIS Web App Deployment task in override parameters if we pass as a value "something with "" it is converted to &quot;
I added : name="param1",value="..."data source=blah blah blah;App=EntityFramework""

and in final web.config it looked like "...&quot;data source=blah blah blah;App=EntityFramework&quot;"

Critical and unbelievable bug makes impossible to deploy to IIS

I'll be brief.

  1. Look closely at this:
    Deploy-Website -webDeployPkg $WebDeployPackage -webDeployParamFile $WebDeployParamFile -overRiderParams $OverRideParams -websiteName $websiteName -excludeFilesFromAppData $excludeFilesFromAppData -removeAdditionalFiles $removeAdditionalFiles -takeAppOffline $takeAppOffline -additionalArguments $AdditionalArguments

There is the $websiteName parameter.

  1. Look closely at this:
    function Deploy-Website
    {
    param(
    [string]$webDeployPkg,
    [string]$webDeployParamFile,
    [string]$overRiderParams,
    [string]$removeAdditionalFiles,
    [string]$excludeFilesFromAppData,
    [string]$takeAppOffline,
    [string]$additionalArguments
    )

I'm intrested in what has happened with the $websiteName parameter, uh?

  1. Look at the three lines above:
    $msDeployCmdArgs = [string]::Format(' -verb:sync -source:package="{0}" {1} -dest:auto -retryAttempts:3 -retryInterval:3000', $webDeployPackage, $msDeployCmdArgs)

The curious question: HOW IS IT SUPPOSED TO DEPLOY TO IIS's SITE DEFINED BY $websiteName PARAMETER (the value comes from the UI-from of the 'WinRM - IIS Web App Deployment' task)???

I'm in shock of how it could be possible to be so handless clown to write such miserable code.
It's called 'the hindu code'.

Hints to fix:

  1. parameter $websiteName should be passed down to the Get-MsDeployCmdArgs function;
  2. value of the 'dest' parameter for msdeploy should be iisApp:"$websiteName" instead of 'auto'.

The last question: when will be this shameful bug fixed???

Using -enableRule:AppOffline stops msdeploy from creating the folder on disk

WinRM - IIS Web App Deployment

If you're deploying a new site, and the physical folder doesn't exist then msdeploy will create that folder for you and deploy the site into it.
However if you use -enableRule:AppOffline then you get this error

Error: Could not find a part of the path 'C:\inetpub\wwwroot\MyProjectName\App_Offline.htm'

My RM deployment will create an environment and site if none exists, otherwise it updates the existing. This makes it tricky to have a single script that does it all. As a workaround I've had to add a powershell task to create the folder if required.

WinRM - IIS Web App tasks' "More Information" links are incorrect

They both have http://aka.ms/iiswebappdeployreadme which redirects to the old IIS Web Application Deployment page at https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/IISWebAppDeployment/README.md

I would think they should point to http://aka.ms/IISWebDeploy which redirects to the new page at https://github.com/Microsoft/vsts-rm-extensions/blob/master/Extensions/IISWebAppDeploy/Src/Tasks/IISWebAppDeploy/README_IISAppDeploy.md

It might even be helpful if the deprecation message on the old page linked to the new page as well.

Admin login and password

Would it be possible to remove the admin login and password from the configuration. Perhaps have the option to have it run within the context of the build agents credentials?

I'm working with an organization that will not be able to use the IIS Web Deploy and Management extensions for that single reason. Exposing the credentials, even in a masked state of a variable, is a security concern that they can't get past.

Access is denied.

OK. This is frustrating me.

I can remote to the host with Using WinRM and the account that I'm using to deploy, however, when I add the same credentials, this is what I get... Note the account has admin rights and full rights on the folders it is publishing to.

VSTS is hosted by MS
Agent on remote host is the one that is bound to the release.
The msbuild web deploy zip file get published using File Copy
Then it crashes.

See below.

May be something obvious! Just can't see it. As mentioned, account being used has admin and full privileges to folder.

2017-01-20T07:17:44.1644601Z Performing deployment in parallel on all the machines.

2017-01-20T07:17:44.1644601Z

2017-01-20T07:17:44.1644601Z

2017-01-20T07:17:44.1644601Z Deployment started for machine: XXX-XXX-01 with port 5985.

2017-01-20T07:17:44.1644601Z

2017-01-20T07:17:44.1644601Z

2017-01-20T07:17:54.5632157Z Deployment status for machine XXX-XXX-01 : Failed

2017-01-20T07:17:54.5632157Z

2017-01-20T07:17:54.5632157Z

2017-01-20T07:17:54.5632157Z Deployment failed on machine XXX-XXX-01 with following message : System.Management.Automation.Remoting.PSRemotingTransportException: Connecting to remote server XXX-XXX-01 failed with the following error message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic.

2017-01-20T07:17:54.5632157Z at System.Management.Automation.Runspaces.AsyncResult.EndInvoke()

2017-01-20T07:17:54.5632157Z at System.Management.Automation.Runspaces.Internal.RunspacePoolInternal.EndOpen(IAsyncResult asyncResult)

Given binding already exists for a different website

Hello,

Setting bindings is failing with version 1.2.2.

I get this error:
Given binding already exists for a different website (web site 2 in this example), change the port and retry the operation.

I have a web site that has multiple bindings, for example:
Web site 1:
Bindings: app | app.domain.com | app.na.domain.com

Web site 2:
Bindings: appsvc | appsvc.domain.com | appsvc.na.domain.com

Deployment fails saying that the binding "app" already exists for web site 2 "appsvc"

For security purposes I made this example generic. I hope you can fix this so I don't have to run appcmd.exe by other means. I love the extension btw :-)

Wouldn't we use an exact match comparer rather than contains here?

Source code:
elseif($site.Contains($binding))
{
throw "Given binding already exists for a different website ("$site"), change the port and retry the operation."
}

Thanks,
Jeremy

Override parameters not working after 1.4.0 update

Since the update to 1.4.0 version today, the field "Override parameters" is not working as expected.
The parameters there are being ignored and the values defined in the parameters file is being used instead.

I've rolled back to 1.3.0 and this issues doesn't happen.

Was there any change in the parameter override structure in this update?

IISWebAppMgmt web root folder permissions

I'm using the IISWebAppMgmt to create a website that has just been robocopied to a server. The app pool runs as a domain account that does not have administrator access. The task doesn't change permissions on the web folder to ensure the app pool account has access to read the files. I don't know for sure if this functionality belongs in this task or if it belongs somewhere else. I just wanted to bring it up for discussion.

Setparameters.xml file

Very useful tool. It works like a charm with my onPremise TFS.
Can you please provide a template or an expample fro setparameters.xml file or a url describing what and how we can use this file?
Thanks in advance

IISWebAppMgmt: Invalid thumbprint on HTTP

We are trying to manage a website using HTTP.
This is how it looks
image

When running the task the following exception raises:

2017-01-05T20:47:16.6979277Z Executing the powershell script: C:\-------\_work\_tasks\IISWebAppMgmt_0f5cd14f-3c01-4d5c-8f7a-eb96c5738dcc\1.3.3\Main.ps1
 
2017-01-05T20:47:17.1979156Z ##[error]System.Management.Automation.RuntimeException: Invalid thumbprint. Length is not 40 characters or contains invalid characters. ---> System.Management.Automation.RuntimeException: Invalid thumbprint. Length is not 40 characters or contains invalid characters.
 
2017-01-05T20:47:17.1979156Z    --- End of inner exception stack trace ---
 
2017-01-05T20:47:17.1979156Z    at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
 
2017-01-05T20:47:17.1979156Z    at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
 
2017-01-05T20:47:17.1979156Z    at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
 
2017-01-05T20:47:17.1979156Z    at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
 
2017-01-05T20:47:17.1979156Z    at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
 
2017-01-05T20:47:17.1979156Z    at Microsoft.TeamFoundation.DistributedTask.Handlers.LegacyVSTSPowerShellHost.VSTSPowerShellHost.Main(String[] args)
 
2017-01-05T20:47:17.1979156Z ##[error]LegacyVSTSPowerShellHost.exe completed with return code: -1.

Can someone provide some light on what may be going on?
It stopped working two days ago...

I don't think so, but it may be related to this commit Fixing incorrect ssl binding for if ip is given ??

IIS Web App Deploy task doesn't work with iisApp provider

The issue #115 was closed incorrectly.
Without fixing this issue as I mentioned deployment is not working at all and the task "WimRM - IIS Web App Deployment" becomes almost useless.
Just look at the parameters of the "WinRM - IIS Web App Deployment" task.
There is the parameter named "Website Name". Just tell me: what is this parameter for?
The information's hint tells: "Provide the name of the website for deploying the Web project to."
But this parameter is not used while deploying to IIS so I can't deploy as the hint tells me!
Furthermore, just imagine the case: I have zipped web-package (msdeploy) and want to deploy it to IIS. All I know is the name of the web site to deploy - how can I deploy in this case (I don't know the physical path of the web site and I don't need it because I would like to deploy to differnet environments with the same site's name!)? The "Override Parameters" doesn't work for this purpose even if I set 'name="IIS Web Application Name",value="...."' - msdeploy just tries to unpack the content of the web-package to the physical path the package was created from. It's absolutely unacceptable because the web-package content must be deployed to the physical path of the site.

Application Pool (Create or Update) with "No Managed Code" results in AppCmd 80070057

Setting .NET Version to the item "No Managed Code" produces appcmd error 80070057. Viewing the actual command that gets run, you can see that the selection actually gets passed as /[name='"MyAppPoolName"'].managedRuntimeVersion:No Managed Code
instead of just a blank.

The work-around is to choose one of the other options (e.g. v4.0) and pass in an Additional AppCmd.exe Commands without any value, for example
set config /section:applicationPools /[name='MyAppPoolName'].managedRuntimeVersion:

Sorry, no time to fix and submit a pull request. Hope this helps, though.

Deploy to App under existing Site

I am trying to deploy to an application that exists under an existing site, but the deploy task doesn't seem to allow the ability to do that. Whenever I tried to set the WebsiteName to be the application name, it says site does not exist. Whenever I tried to set the WebsiteName to be the main website name, it overrides that website instead of creating a subfolder.

Web Deploy Management Issue

Hi,

I get the below error when I execute the deploy. I am still using TFS 2015 Update 2. Is the problem related to this?

2016-12-22T19:32:18.8085810Z Executing the powershell script: C:\AgenteBeneficios5\tasks\IISWebAppMgmt\1.3.0\Main.ps1
2016-12-22T19:32:19.0273208Z Started creating website: BeneficiosTeste
2016-12-22T19:32:19.1054397Z Performing deployment in sequentially on all machines.
2016-12-22T19:32:19.1210636Z Deployment started for machine: intrateste.appai.org.br with port 5985.
2016-12-22T19:32:19.2929317Z Deployment status for machine intrateste.appai.org.br : Failed
2016-12-22T19:32:19.3085563Z ##[error]Cannot bind argument to parameter 'errorMsg' because it is an empty string.
2016-12-22T19:32:19.3241799Z ##[error]System.Management.Automation.Remoting.PSRemotingTransportException: Connecting to remote server intrateste.appai.org.br failed with the following error message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic.
2016-12-22T19:32:19.3241799Z ##[error] at System.Management.Automation.Runspaces.AsyncResult.EndInvoke()
2016-12-22T19:32:19.3241799Z ##[error] at System.Management.Automation.RemoteRunspace.Open()
2016-12-22T19:32:19.3241799Z ##[error] at Microsoft.VisualStudio.Services.DevTestLabs.Deployment.Deployment.PowershellExecutor.GetOpenedRunspace()
2016-12-22T19:32:19.3398055Z ##[error] at Microsoft.VisualStudio.Services.DevTestLabs.Deployment.Deployment.PowershellExecutor.EstablishRemoteSession()
2016-12-22T19:32:19.3398055Z ##[error] at Microsoft.VisualStudio.Services.DevTestLabs.Deployment.RetryExecutor.Execute(Action action)
2016-12-22T19:32:19.3398055Z ##[error] at System.Threading.Tasks.Task.Execute()

IISWebAppDeploy ERROR_FILE_IN_USE

Using TFS 2015 Update 2.
IISWebAppMgmt: 1.0.2
IISWebAppDeploy: 1.0.1

In my release I have a Manage IIS App task followed by a Deploy IIS App task. If I add "Additional AppCmd.exe Commands" to the Manage IIS task, then I (almost) always receive the following error when trying to deploy my package:
Deployment failed on machine xx.yy.com with following message : System.Exception: Error Code: ERROR_FILE_IN_USE
As soon as I remove the additional commands then the problem goes away.

The additional commands are:

set apppool "poolname" /enable32BitAppOnWin64:true
set apppool "poolname" /autoStart:true
set apppool "poolname" /processModel.idleTimeout:02:00:00

Multiple Bindings?

Sorry to open an issue for this, but how does one specify multiple bindings using this extension?

Add other MSDeploy arguments

Reading through the MsDeployOnTargetMachines.ps1 code, I see that all of the Override Parameters are forced into the "-setParam:" flag for the MSDeploy command.

I have a requirement for one of my deployments to add a -skip:Directory=\\LoadedAssemblies to the MSDeploy, and I was able to do this by modifying the Get-MsDeployCmdArgs function in MsDeployOnTargetMachines.ps1 to include the following code:

foreach($setParam in $setParams)
    {
        $setParam = $setParam.Trim()
        if(-not [string]::IsNullOrWhiteSpace($setParam))
        {
            if($setParam.StartsWith("-")) 
            {
                $msDeployCmdArgs = [string]::Format('{0} {1}', $msDeployCmdArgs, $setParam)
                continue
            }
            $msDeployCmdArgs = [string]::Format('{0} -setParam:{1}', $msDeployCmdArgs, $setParam)
        }
    }

Obviously, this isn't the most optimal solution, but it allowed me to add the custom flag into the command and deploy my web application.

Are there any plans to add the functionality to add custom MSDeploy flags in natively? Maybe as a separate input in the Advanced section of the Task?

Addition MsDeploy argument -allowUntrusted seems to be ignored.

I have set up WinRM on my domain joined server using a self-signed cert. I can deploy to it using a publish profile out of Visual Studio with the True setting.

However, when I try to use the "WinRM - IIS Web App Deployment" task I still get this error
2016-11-02T18:09:34.5727763Z Deployment failed on machine with following message : System.Management.Automation.Remoting.PSRemotingTransportException: Connecting to remote server failed with the following error message : The server certificate on the destination computer (:5986) has the following errors:
2016-11-02T18:09:34.5727763Z The SSL certificate is signed by an unknown certificate authority.
2016-11-02T18:09:34.5727763Z The SSL certificate contains a common name (CN) that does not match the hostname. For more information, see the about_Remote_Troubleshooting Help topic.

Even when I put the setting in MsDeploy Additional Options. I have tried both -allowUntrusted and /p:AllowUntrustedCertificate=True.

Am I setting this properly, or is the setting being ignored?

WinRM -SQL Server DB Deployment can't find SqlPackage.exe

I installed the Data-Tier Application Framework using the August 2016 x86 and x64 msi's as well as the version linked in the readme (July 2015) but the powershell script is unable to find SqlPackage.exe. It appears that the registry settings created/updated by the installers put information in:
"HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\Data-Tier Application Framework"

The script in the extension, however, is looking for a key called "DACFramework" instead of "Data-Tier Application Framework".

Install extension

I tried to install this extension on my tfs and it didn't show up.

I am using tfs 2015 update 2.1

steps to reproduce:
download extension
tfsurl/tfs/_gallery/manage
upload the extension
install extension.
go to release management(or build) and add task.
WinRM doesnt show up

thanks for the help

logging in SqlPackage.exe

using WinRM - SQL Server DB Deployment, how can I get the verbose logging output from sqlpackage.exe?

WinRM - IIS Web App Deployment ERROR_SITE_DOES_NOT_EXIST

I am trying to deploy to IIS, but not matter what I try for setting my site name, it does not work.

This might be related to Issue #120

image

I get, but it does not tell me what it is trying to use for SiteName.

System.Exception: Error Code: ERROR_SITE_DOES_NOT_EXIST

2016-11-01T22:09:31.8401222Z ##[error]Deployment on one or more machines failed.

2016-11-01T22:09:31.8441208Z ##[error]For more info please refer to http://aka.ms/iisextnreadme

2016-11-01T22:09:31.9641229Z Finishing task: IISWebAppDeploy

2016-11-01T22:09:31.9681264Z ##[error]Task IISWebAppDeploy failed. This caused the job to fail. Look at the logs for the task for more details.

"Site '.' does not exist" error

I've been trying to set up a TFS 2015 (on-prem) build definition to deploy an ASP.NET Core 1.0.1 (using .NET Framework 4.6.2, not pure Core), however it always fails on the Deploy IIS App step. The previous step is a Manage IIS App step to ensure the site is set up correctly, and that works fine. When it gets into the Deploy step, it fails with the error:

Error Code: ERROR_SITE_DOES_NOT_EXIST

This is connecting from the build server to IIS running on a Server 2012 R2 VM hosted in Azure.

I've attached the verbose log from the task: IIS Deploy task log.txt

The deployment step is configured as:
image

Production.xml (not optimally named, but that's a minor problem right now):

<parameters>
    <parameter name="IIS Web Application Name" defaultValue="QuoteOrderDev" tags="IisApp" />
</parameters>

I've also tested manually importing the deployment package into IIS, and that worked fine, so I don't believe it's an issue with the deployment package.

This is the final step that I seem to be stuck on. Everything else has been working great, including ensuring that the site is set up correctly (and exists) in the IIS Manage App task.

Sql DacPac deploy task doesnot log stderr to Build/Release log

Moving microsoft/azure-pipelines-tasks#3002 here

Quoting issue
When using the DacPac Deploy Task, I can see what looks like stdout in the build/release log. However, if the dacpac deployment fails, the stderr output does not appear in the build/release log. I do see:

Initializing deployment (Start)
Initializing deployment (Failed)

##[error]
ErrorRecord : *** Could not deploy package.

However, running the same command in a console gives the actual error (like incorrect SQL version or whatever). It would be great if the stderr was put onto the build/release logs so that we can see error details.

Support Deployment of Sub-Applications / Virtual Directories

In many cases, applications we deploy are not root applications. They are hosted as sub-applications underneath a single site. It'd be great if the WinRM tasks directly supported this scenario. We're currently trying to find a combination of arguments to pass in to make it work, trying to avoid custom tasks.

Support for pass-through authentication?

image

If I use passwords in Build or Release scripts, I cannot change the password centrally with tools like Secret Server or Cyber-Ark Password Vault. Basically, this tool requires a never-changing password with admin rights to production servers. Is there any way around this?

Error trying to deploy to iis on remote server, WINRM IIS DEPLOY TASK

tfs

2016-09-09T20:41:52.3332647Z Executing the powershell script: Z:\TfsBuildAgents\VsoBuildAgent\tasks\IISWebAppDeploy\1.1.2\Main.ps1
2016-09-09T20:41:52.8800032Z Starting deployment of IIS Web Deploy Package : C:\SIPS\Sips.Web.zip
2016-09-09T20:41:53.1143197Z Performing deployment in parallel on all the machines.
2016-09-09T20:41:53.1143197Z Deployment started for machine: 172.16.0.125 with port 5985.
2016-09-09T20:42:54.5207789Z Deployment status for machine 172.16.0.125 : Microsoft.VisualStudio.Services.DevTestLabs.Definition.DeploymentResponse.Status
2016-09-09T20:42:54.5364002Z Deployment failed on machine 172.16.0.125 with following message : System.Exception: An object at the specified path C:\Users\E2586~1.SAN does not exist.
2016-09-09T20:42:54.5676428Z ##[error]Deployment on one or more machines failed.
2016-09-09T20:42:54.5676428Z ##[error]For more info please refer to http://aka.ms/iisextnreadme

WinRM IIS Web Deploy - Only deploys empty App_Data folder

Hi,
My deployment package is there in the correct folder.

The Overide Parameters is set with the IIS wev app name as is the Website Name property.

After deployment runs successfully, only the App_Data folder is present and it is empty.

Running on prem.

Please advise.
thanks,
KS

IIS App deployment failed without clear error message

This used to work, must be broken by some update I think.
The task IIS Web App deployment deploys a webdeploy package to a remote IIS server using WinRM over http. For some reason, it intermittently fails with the only error message being the following:
2016-12-12T20:13:07.3015505Z Status : Failed

2016-12-12T20:13:07.3015505Z DeploymentLog :

2016-12-12T20:13:07.3015505Z Deployment started on target machine...

2016-12-12T20:13:07.3015505Z

2016-12-12T20:13:07.3015505Z System.AggregateException: Failed to execute the

2016-12-12T20:13:07.3015505Z powershell script. Consult the logs below for details of

2016-12-12T20:13:07.3015505Z the error.

2016-12-12T20:13:07.3015505Z doesn't exists. --->

2016-12-12T20:13:07.3015505Z System.Management.Automation.RuntimeException: doesn't

2016-12-12T20:13:07.3015505Z exists. --->

2016-12-12T20:13:07.3015505Z System.Management.Automation.RuntimeException: doesn't

2016-12-12T20:13:07.3015505Z exists.

2016-12-12T20:13:07.3015505Z --- End of inner exception stack trace ---

2016-12-12T20:13:07.3171788Z at System.Management.Automation.Runspaces.PipelineBase.I

2016-12-12T20:13:07.3171788Z nvoke(IEnumerable input)

2016-12-12T20:13:07.3171788Z at System.Management.Automation.PowerShell.Worker.Constr

2016-12-12T20:13:07.3171788Z uctPipelineAndDoWork(Runspace rs, Boolean

2016-12-12T20:13:07.3171788Z performSyncInvoke)

2016-12-12T20:13:07.3171788Z at System.Management.Automation.PowerShell.Worker.Create

2016-12-12T20:13:07.3171788Z RunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)

2016-12-12T20:13:07.3171788Z at System.Management.Automation.PowerShell.CoreInvokeHel

2016-12-12T20:13:07.3171788Z per[TInput,TOutput](PSDataCollection`1 input,

2016-12-12T20:13:07.3171788Z PSDataCollection`1 output, PSInvocationSettings settings)

2016-12-12T20:13:07.3171788Z at System.Management.Automation.PowerShell.CoreInvoke[TI

2016-12-12T20:13:07.3171788Z nput,TOutput](PSDataCollection1 input, PSDataCollection1

2016-12-12T20:13:07.3171788Z output, PSInvocationSettings settings)

2016-12-12T20:13:07.3171788Z at

2016-12-12T20:13:07.3171788Z System.Management.Automation.PowerShell.Invoke(IEnumerable

2016-12-12T20:13:07.3171788Z input, PSInvocationSettings settings)

2016-12-12T20:13:07.3171788Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDep

2016-12-12T20:13:07.3171788Z loyer.Deployment.PowershellExecutor.<>c__DisplayClass28_0.<

2016-12-12T20:13:07.3171788Z Invoke>b__0()

2016-12-12T20:13:07.3328025Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDep

2016-12-12T20:13:07.3328025Z loyer.Utilities.RetryExecutor.<>c__DisplayClass19_0`1.<Exec

2016-12-12T20:13:07.3328025Z ute>b__0()

2016-12-12T20:13:07.3328025Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDep

2016-12-12T20:13:07.3328025Z loyer.Utilities.RetryExecutor.Execute(Action action)

2016-12-12T20:13:07.3328025Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDep

2016-12-12T20:13:07.3328025Z loyer.Utilities.RetryExecutor.Execute[T](Func`1 action)

2016-12-12T20:13:07.3328025Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDep

2016-12-12T20:13:07.3328025Z loyer.Deployment.PowershellExecutor.Invoke(String

2016-12-12T20:13:07.3328025Z errorContextMessage, Boolean writeResultToLog, Boolean

2016-12-12T20:13:07.3484301Z isCancellable, ActionPreference errorActionPreference)

2016-12-12T20:13:07.3484301Z --- End of inner exception stack trace ---

2016-12-12T20:13:07.3484301Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDep

2016-12-12T20:13:07.3484301Z loyer.Deployment.PowershellExecutor.Invoke(String

2016-12-12T20:13:07.3484301Z errorContextMessage, Boolean writeResultToLog, Boolean

2016-12-12T20:13:07.3484301Z isCancellable, ActionPreference errorActionPreference)

2016-12-12T20:13:07.3484301Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDep

2016-12-12T20:13:07.3484301Z loyer.Deployment.ScriptExecutor.ExecuteScript(IPowerShell

2016-12-12T20:13:07.3484301Z powerShell, String script, String arguments, Boolean

2016-12-12T20:13:07.3484301Z isScriptDotSourced, Boolean useHttp)

2016-12-12T20:13:07.3484301Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDep

2016-12-12T20:13:07.3484301Z loyer.Deployment.DeploymentService.RunPowerShellScripts(Dep

2016-12-12T20:13:07.3484301Z loymentMachineSpecification deploymentMachine,

2016-12-12T20:13:07.3484301Z ScriptSpecification scriptSpecification,

2016-12-12T20:13:07.3484301Z ScriptSpecification initializationScriptSpecification,

2016-12-12T20:13:07.3484301Z String applicationPath, IPowerShell powerShellSession)

2016-12-12T20:13:07.3484301Z ---> (Inner Exception #0)

2016-12-12T20:13:07.3484301Z System.Management.Automation.RuntimeException: doesn't

2016-12-12T20:13:07.3484301Z exists. --->

2016-12-12T20:13:07.3484301Z System.Management.Automation.RuntimeException: doesn't

2016-12-12T20:13:07.3484301Z exists.

2016-12-12T20:13:07.3640581Z --- End of inner exception stack trace ---

2016-12-12T20:13:07.3640581Z at System.Management.Automation.Runspaces.PipelineBase.I

2016-12-12T20:13:07.3640581Z nvoke(IEnumerable input)

2016-12-12T20:13:07.3640581Z at System.Management.Automation.PowerShell.Worker.Constr

2016-12-12T20:13:07.3640581Z uctPipelineAndDoWork(Runspace rs, Boolean

2016-12-12T20:13:07.3640581Z performSyncInvoke)

WinRM - IIS Web App Management - Start website

Hi!
Is there a way when creating a website also starts it?

I also tried on Advanced > Additional AppCmd.exe Commands:
start site /site.name:"WebDemoTFS"
start site /site.name:WebDemoTFS
##[error]Microsoft.PowerShell.Commands.WriteErrorException: System.Exception: Object 'SERVERAUTOSTART:TRUE' is not supported. Run 'appcmd.exe /?' to display supported objects.

Deployment failed on machine DEV-WEB with following message : System.Exception: ERROR ( hresult:800710d8, message:Command execution failed. The object identifier does not represent a valid object. )

HTTPS binding failes to set credential

hello
I'm using the task to deploy my web site to IIS 8 on Windows2012R2.
i first deploy the site with http and application pool configurations set.
i then run the task again to set the Https binding only.
and it fails with "incorrect parameter" error.
the log show the following:
"2016-07-18T13:27:18.0674249Z Checking website exists. Running command : "C:\Windows\system32\inetsrv\appcmd.exe" list site /name:"MySite.com"
2016-07-18T13:27:18.0674249Z Website ("MySite.com") already exists
2016-07-18T13:27:18.0674249Z Checking website physical path exists c:\Repositories\MySite\1.0.1.182\MySite
2016-07-18T13:27:18.0674249Z Checking binding exists for website ("MySite.com"). Running command : "C:\Windows\system32\inetsrv\appcmd.exe" list sites
2016-07-18T13:27:18.0684248Z Does bindings exist for website ("MySite.com") is : False
2016-07-18T13:27:18.0684248Z Updating website properties. Running command : "C:\Windows\system32\inetsrv\appcmd.exe" set site /site.name:"MySite.com" -[path='/'].[path='/'].physicalPath:"c:\Repositories\MySite\1.0.1.182\MySite" /+bindings.[protocol='https',bindingInformation='*:443:MySite.com']
2016-07-18T13:27:18.0684248Z Checking if SslCert binding is already present. Running command : netsh http show sslcert ipport=0.0.0.0:443
2016-07-18T13:27:18.0684248Z Setting SslCert for website.
2016-07-18T13:27:18.0734246Z Deployment failed on machine spiderman6 with following message : System.Exception: The parameter is incorrect.
2016-07-18T13:27:18.0834269Z ##[error]Microsoft.PowerShell.Commands.WriteErrorException: Deployment on one or more machines failed.
2016-07-18T13:27:18.0844269Z ##[error]For more info please refer to http://aka.ms/iisextnreadme
"

i ran the same commands on the machine and i got error 183 that the certification already exists
as the computer contains several other certifications and the first one is selected by default when setting https binding

I'm using the latest version found in the TFS Marketplace (1.2.1).

Approach to Deploy an App to Servers Hosted in Azure

The following page uses the "IIS Web App Deployment Using WinRM" task:
https://www.visualstudio.com/en-us/docs/release/examples/other-servers/net-to-vm

However, it states:
"To deploy an app to servers hosted in Azure, see Deploy ASP.NET apps to Azure virtual machines."
https://www.visualstudio.com/en-us/docs/release/examples/azure/net-to-azure-vm
That is, use the Run Powershell Task instead to deploy.

Is there a particular reason why the "IIS Web App Deployment Using WinRM" Task shouldn't be used in the "deploy an app to servers hosted in Azure" scenario?

IIS Web App Deployment Using WinRM - why not webdeploy directly

Hi!

As I understand, to use this task we need to first copy the zip to the target maching, then do a webdeploy. This involves opening ports for remoting 5986 and file copy 445. Why not use webdeploy directly? It would have been great to have a task that allowed my to pick a .zip (like the IIS Web App Deployment Using WinRM task) and then do a WebDeploy directly (only requires webdeploy port).

I tried the execute batch script, but it is a lot of arguments to put in, so having it as a task would be great.

Please let me know if I'm wrong on the need to to a filecopy first. Thanks

MsDeploy arguments and string concatentation

There is an issue when adding additional arguments to the MsDeploy task for the Application Deployment task. When you include things such as -skip:Directory="\logs$", it ends up writing the statement that is executed as -skip:Directory= which ends up skipping all files from being updated. The task itself should be changed so that quotation characters are accepted in case you need to specify a file that contains spaces and thus you need the quotation character to designate the full string.

WinRM - SQL Server DB Deployment "Additional Arguments" stopped working after last update

WinRM - SQL Server DB Deployment "Additional Arguments" stopped working after last update (1/5/17)
I was using "Additional Arguments" to send parameters to a script. Everything worked fine last Wednesday, but when I retested the task this morning, it was giving errors that would only occur if the Additional Parameters aren't being fed to Invoke-Sqlcmd (if I run a remote powershell script using Invoke-Sqlcmd I'm able to run my complete script (with parameters) on the server).
Please could you check if those cert changes could have inadvertently broken the sending of additional arguments?
Thanks.

Error when overrides parameters

I get the following error
System.Exception: Error: Unrecognized argument 'value=2106'. All arguments must begin with "-".

In override paramters in deployment section i input the following value

name="ApplicationID", value=$(ApplicationID)
name="ProjectWebService_WebMethods", value=$(WebServiceURL)

I also try using

name="ApplicationID", value="2106"

I dont know if something is missing ... please help me

add https binding not working

Task configuration follows...

Create or Update Website: true
Website Name: $(siteName)
Physical Path: $(physicalPath)
Physical Path Authentication: Application User (Pass-through)
Add Binding: true
Protocol: https
IP Address: $(ipAddress)
SNI: false
Host Name: $(hostname)
SSL Certificate Thumbprint: $(sslCertificateThumbprint)

New binding is created, no certificate selected:

Edit Site Binding dialog:

Type: https
IP Address: correct IP passed from task
Port: 443
Host name: correct host name passed from task
SSL Certificate: Not Selected

When I click the drown-down, i'm able to select the correct certificate, the add binding option does not take care of this.

IIS Web App Deployment On Premise TFS Task Issue with ASP.NET Core 1.0 RC2

Trying to IIS Web App Deployment Using WinRM for ASP.NET Core 1.0 RC2 on premise TFS Update 2.1 and latest vsts-rm extensions installed (1.1.0) but I'm getting this error :
" Source does not support parameter called 'IIS Web Application Name'. Must be one of (). "
on last release step.
I have created webdeploy package (as .zip file) properly but could not deploy it.
deployment

application not take in charge

We cannot add an application to a site without use advanced/Additional AppCmd.exe Commands.
The problem with the additional commands is that we cannot test if the app exists before delete or add it.
Is it possible to add a form that handle the app ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.