Multiple TFS 2010 MSBuilds are not triggering Web Deploy to publish the web application to the IIS website.
This is for multiple different software products, multiple different build configurations, 2 different build agents (on 2 different servers), multiple IIS web site instances on multiple different servers.
3 different continuous deployment setups were previously working.
So hopefully this rules out miss-configuration of the build/build servers/hosting servers/web deploy and IIS.
According to the network manager nothing has changed on the network (all servers are local), and port 8172 is not blocked by any security configurations.
All builds succeed, web deploy fails silently (no error, nothing in the logs). It appears that web deploy is no longer being triggered.
Are there any other ports that are used here?
What else could be blocking the communication between MSBuild and Web Deploy?
Would you expect it to fail silently (nothing in the logs or passed back to MSBuild)?
UPDATE
This is a similar question How to determine if MSBUILD Arguments were executed for TFS Build Definition
Assuming you are using vs2012, on your build server make sure the following two folders exist: Web & WebApplications in
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0
If these dont exist then need to be copied from a machine your do development on. This worked for me, and solved all of my problems with the Deployment of projects.
Related
Can you run the SQL Server 2014 Master Data Services Configuration manager on windows 8.1 pro and not on a server like Windows server R2?
If so please help it tells me "The required .svc handler mappings are not installed in IIS." but I have checked and everything in the windows features under IIS is selected
The answer was a simple google search away.
You can run it on Windows 8.1 Pro.
Take a look at this link for several troubleshooting help:
SVC_Handler_mapping_error_in_MDS_Configuration_Manager
SVC Handler mapping error in MDS Configuration Manager
When you configure Master Data Services in the MDS Configuration
Manager, you may encounter an error indicating that the required .svc
handler mappings are not installed in IIS.
Before creating an MDS web application, you must correct the following
errors:
Internet Information Services (IIS) is not configured on this server.
The required .svc handler mappings are not installed in IIS.
This can occur in one of the following instances: IIS may be missing the necessary .svc Handler Mappings. Visit IIS Manager from
the start menu. If you have a default website listed, click the site,
and click Handler Mappers icon. In the list, sort by Path column.
notice if *.svc is listed or not. If it is already listed, this error
may a false positive, but if it is not, you may need to install the
*.svc path mappers in Step 2 & 3 below.
Depending on the IIS version, there are different ways to get the
Service Mappers installed. For .Net 4.0, the mappers may need to be
installed by installing HTTP activation in .Net Framework 4.6 Advanced
Services. From the start menu search or control panel, find the item
Turn Windows Features Off or On. then in the tree of Windows Features
find .Net Framework 4.6 > WCF Services > HTTP Activation
On earlier Windows versions where .Net Framework 4.0 does not come
preinstalled, when you add or install IIS features after .NET 4 was
installed, you may encounter this error. To fix this issue, open a
command prompt and go to the .NET directory (for example
%windir%\Microsoft.NET\Framework64\v4.0.30319). Run the command:
aspnet_regiis -i.
You may encounter this error as a false positive or false negative
when there is an existing IIS website(s) already existing in your IIS
server, but you select a different Web site to host MDS, or when you
select a Web site other than the first Web site listed. This can
happen in following two ways: Service handlers are not installed on
the first Web site that MDS is not attached to, but are installed on
another Web site that MDS is attached to. MDS will post an error
because it looks at the first Web site, not the second Web site. This
is a false negative, in that the error message indicates that the
handler mappings are not made, whereas they actually are. In this
case, you can ignore the error and proceed. Service handlers are
installed on the first Web site that MDS is not attached to, but are
not installed on another Web site that MDS is attached to. MDS will
not post an error because it looks at the first Web site, not the
second Web site. This is a false positive, because the lack of handler
mappings will cause MDS not to work. You should install the handler
mappings for the Web site that you are attaching MDS to.
I installed multiple rabbitmq Services on our dev environment and enabled the management plugin and gave them different ports. This works fine, now I installed 3 rabbit MQ nodes on another machine and installed the management plugin. Of course I adjusted the configs and gave the management tools different ports. Unfortunately I can only access the management plugin from rabbitmq 1, 2 and 3 are not working.
I checked and see that some folders are missing in the setup.
C:\Users\myuser\AppData\Roaming\RabbitMQ1\db
inside of this folder I am missing the plugins folder which I have in the rabbitmq1 setup. I tried to cheat and copy the folders and rename them, but as soon as I start the service it recognizes this and delete the folder.
Re-installing the management plugin does not work, whenever I try to install I get the message that I already have it.
Any idea?
I finally found the issue. When you create the rabbit-mq and you don't have a config in the AppData\Roaming/YourRabbitInstance than there will be no config parameter created in the registry. Meaning your config will never be picked up, whatever details you provide. I have added the config parameter to the registry and the queue immediately started listing on the ports defined in the cfg.
-config "C:\\Users\\myuser\\AppData\\Roaming\\myrabbit\\myrabbit"
I have configured web application on server1. In configuration I choosed my cluster(server1 and server2) as target servers. What I want to learn is Do also need to configure a deployment on server2? There is no war file in server2 and I am a little curious about how this application will run also on server2.
Deployments process can be done in three ways...
1.Stage
2.Nostage
3.ExtenalStage
This is an explanation of the staging modes in WebLogic:
Stage mode—
The Administration Server copies the archive files from their source location to a location on each of the targeted Managed Servers that deploy the archive. For example, if you deploy a J2EE Application to three servers in a cluster, the Administration Server copies the application archive files to each of the three servers. Each server then deploys the J2EE Application using its local copy of the archive files.
Stage mode is the default mode when deploying to more than one WebLogic Server instance.
Nostage mode—
The Administration Server does not copy the archive files from their source location. Instead, each targeted server must access the archive files from a single source directory for deployment. For example, if you deploy a J2EE Application to three servers in a cluster, each server must be able to access the same application archive files (from a shared or network-mounted directory) to deploy the application.
Nostage mode is the default mode when deploying only to the Administration Server (for example, in a single-server domain). You can also select nostage mode if you run a cluster of server instances on the same machine.
External_stage mode—
External_stage mode is similar to stage mode, in that the deployment files must reside locally to each targeted server. However, the Administration Server does not automatically copy the deployment files to targeted servers in external_stage mode; instead, you must manually copy the files, or use a third-party application to copy the files for you.
Hope it helps you.
No, weblogic will handle deployment to both managed servers automatically.
I am setting up our server to handle all our WCF web services. What I want to know is, what is the best practice for proper isolation of each service under one root domain?
I'm using something like http://api.ourdomain.com and I want each of our client's WCF services to be isolated in separate virtual directories like http://api.ourdomain.com/client1.
I'd like it so that if any one fails/bombs they won't affect other live WCF services running.
Normally I isolate them by website, but since these are all under one 'roof' so to speak, Ihave to do some IIS trickery to properly isolate them.
I had setup a virtual directory and had it as it's own 'app' but I was getting the following error:
"It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process."
Which is strange since I had them both set to use .NET 4.0 framework, so, I'm not sure what happened.
I have an application that needs to be deployed to two different servers (environments).
I have two environments on two separate servers, server1 and server2.
Both servers have different IIS Manager user accounts and passwords configured.
The builds however all happen on server1 and it appears that no matter what settings I pass via the build definition, everything gets deployed to server 1.
I can publish to server2 manually from the Publish command in VS2010 but this needs to be automated in TFS.
This used to work fine but then started happening a couple of weeks ago.
How can I correct this problem?
In the end, although I followed the IIS generated settings file, I had to set the MSDeployPublishMethod to WMSVC (it was set to MSDeploy). I can't tell you why this works and the other doesn't but this is how I solved it. If anyone has any details on where one can find out more about the various Web Deploy settings please advise!