Edit: MSSISBuild has been updated and moved to GitHub. Read about it here. The rest of this post is still relevant, it’s just where you download the code form that has changed.
this has proven to be a popular post, and the software has been downloaded a few times. I will post an update for SQL Server 2016 soon, though I think it is just references in the solution that needs updating.
Today I am pleased to announce the release of MSBuildSsis2012 on
Codeplex. But before i get into what it does first, a bit of background:
Back in May, and subsequently a few more times since, I’ve posted about an error I get occasionally in one of our custom tasks that run in our builds. This custom task is a special case: As the SSIS 2012 project extension is dtproj, it cannot be compile using MSBuild. The typical solution would be to use DevEnv In MSBuild. And to automate deployment the solution (that would work for most people) is to use the SSIS Deployment Wizard in silent mode. However, we don’t use the SSIS Deployment Wizard in our automated builds as it does not work in Silent Mode when you have assembly references in the SSIS packages: it destroys those references and the dtsx packages fail whenever they run.
Continue reading “MSBuildSsis2012 Now Available (…or Rather SSIS 2012 Deployment Fail Revisited…Again)”
Things have been quiet on the blogging front, the reason being that house buying/selling has become a major distraction. Plus any time I do get I’ve been looking at Clustered Columnstore Indexes. The more I read about them the more I’m impressed by what Microsoft and the bods on the SQL DB Engine team have achieved here. If you want to read more about clustered columnstore indexes I suggest you check out my previuous posts as there are plenty of links to pique your interest.
Outside of SQL and CCI, I’ve been handing over the builds to the dev team. Letting something go is hard for me; I’m a control freak, but one of the things that has come out of it has been a fresh pair of eyes on how our builds work, plus questions I haven’t asked myself about builds. Like for example “how do I manage build agents without having to go on the machine itself?” Myself, I’ve always just gone onto the machine and edited the build agent there. however there is a menu in Visual Studio 2012 which shows you all the build agents, there status and the ability to edit the agents themselves. Just open Visual Studio 2012, go to builds actions, manage build controllers and you’ll see the menu below (I’ve frost glassed out the names intentionally):
You can edit a build agent by highlighting and selecting “properties”. Then the window to manage the agent appears, which is has the exact same options as through the TFS Build Configuration app on the build servers.
Frustratingly you cannot manage the builds like this through the web portal. Maybe you can in 2013, but seems a bit unnecessary to require the Visual Studio IDE for something like this. But at any rate, I never knew about this until someone asked me about it today.
( Part 2 focuses on clearing out the SSISDB by creating new stored proc based on the one used by the maintenance job. If your Maintenance Job is taking hours to run, you need to check this out.)
When deploying our Ispacs through my builds, I’ve still been getting the intermittent “timeout” issues I first wrote about back in May, and this has been exacerbated by extra SSIS Projects added to the SSISDB catalog.
Continue reading “SSIS 2012 Deployment Fail Revisited”
Way back in 2008, a post on the blogs.msdn site showed how to create a custom MSBuild task to associate changesets and work items only since the last successful build. Recently I needed to write this custom task myself, but for builds that were “PartiallySuccessful” as well as “Successful”, and was pleased to find such a complete target available. However as it is written for TFS 2008 it won’t work with TFS 2010 onwards. As the blog appears to be inactive now I’ve made the changes and put the code below. Hopefully anyone who needs it for TFS 2010 onwards can use the pingback to get here for the up to date code. The rest of the solution works fine.
Continue reading “Associating changesets and Work Items Since the Last Successful Build”
When creating MSBuild.proj files for builds in Visual Studio, there are times when you might want some targets called, and other times you don’t want the targets called. Continue reading “How To Use MSBuild Arguments in Visual Studio Builds”
So new week, new post, and getting back to what I really started this blog. I like sharing knowledge, but part of the reason I blog about new versions of software is so that it motivates me to read up on what’s coming up, but the post today is typical of what I enjoy writing about the most. This post is about how to get projects that are unsupported by MSBuild built in an automated build.
Continue reading “Using DevEnv In MSBuild”
The TFS Team at Microsoft certainly have been been busy this year. Visual Studio 2012 Update 3, presumalby the final update for VS 2012 before VS 2013 goes live, is avilable to download. It’s ben said for quite some time that this update is consideraby smaller than either of the previous Updates, as it includes bug fixes.
In addition, Update 3 is a cumulative release that also includes all of the benefits delivered in Update 1 and Update 2.
It’s worth noting that it’s important to install Update 3 if you need to be able to “Round Trip” (scroll down to end of article to read about it) projects between Visual Studio 2012 and Visual Studio 2013, or if you want to run Visual Studio 2012 on the Windows 8.1 Preview.
The Knowledge Base article for Update 3
Download Visual Studio 2012 Update 3
Download TFS 2012 Update 3
There are many ways to run a find and replace in a config file to environmentalize it: you can update files in the build before they are compiled into the MSI, and even here there are multiple choices: SlowCheetah being one of them. This only works if you know at runtime the servers you are deploying to, or you only want a direct 1 to 1 connection. So on those occasions that you want to deploy to more than one box, updating at runtime does not work. Fortunately there is a way to update using WiX, and is surprisingly straightforward.
Continue reading “WiX Wednesday 1.3 Update Config Files During Deployment”
(Update: Part 2 focuses on clearing out the SSISDB by creating new stored proc based on the one used by the maintenance job. If your Maintenance Job is taking hours to run, you need to check this out.)
No WiX Wednesday this week, owing to commitments in real life. Instead, here is something regarding SSIS 2012 Deployment. Enjoy!
As part of our CI and Test Builds we have automated the deployment of two SSIS Projects. One is fairly large and the other one contains only two dtsx packages. Recently we have been getting timeout issues with the deployment of the solutions. Continue reading “SSIS 2012 Deployment Fail”