Search Results

How To Use MSBuild Arguments in Visual Studio Builds

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. In my case, our Production builds compile all the web and windows service solutions as well asthe deployment scripts for databases and our BIDS projects. Essentially everything I would want if I was going to run an entire deployment for a release. However when deploying a dll hotfix, I don't want the SQL scripts and BIDS stuff built. When we want to deploy a hotfix, speed is of the essence. Our build

Join Us This Wednesday at The Impact Hub King's Cross

…Where I will be presenting on the headless SSDT release from Microsoft. So up front, this does not sound like a topic which requires much discussion: There’s a NuGet package. But it is what underlies the usage of this NuGet package is where the discussion is. When it comes to build servers, the idea behind what software that needs to be installed to support builds is generally “whatever is on the developers box, that also needs to be installed here.” And that is the way I used ot think. However, this idea upfront seems simple, but if you are supporting

T SQL Tuesday: Shipping Database Changes with SSDT

Hello! Let’s see how this goes: this months subject for T SQL Tuesday is about shipping database changes, something we here are all familiar with. So I thought I’d make some notes about a tool I’m very familiar with, SQL Server Data Tools. The Good It’s free! SSDT works with Visual Studio Community up to Ultimate, and from Visual Studio 2015 onwards it comes with it’s own Visual Studio IDE. SSDT Has a NuGet package available. So you don’t need to install Visual Studio to get builds running, and crucially can control which version is used to compile at a

Team City Meta Runner - Get Build Status

Hello! When building a deployment pipeline, the choice of tool is less important than the use of the tool: do you go for a tool that centrally controls the flow of a release, from build to running tests to actual deployment, or do you choose separate tools that are loosely hung together and execute a particular part of a release? From personal experience, I have preferred to use a tool to act as a control flow of the deployment pipeline, but leverage tools where there is clear sense to use them. A case in point is using TeamCity to run

Team City Meta Runner: Get Build Number

One of the neat things about TeamCity is that it gives you a great deal of control over your process. TeamCity is great to use as a control flow for your pipeline, especially if you are using Octopus to deploy. But one of the pain points here is keeping the parity between build/deploy versions in Octopus the same as in TeamCity. It's important because it prevents users from having to jump between the UI's to keep track of what is deployed where, especially if you are automating the whole process. There's several ways to keep the build numbers aligned, the

Why is Sqlpackage Using All The Build Server Memory?

Sqlpackage can be particularly resource-intensive when scripting a database that has a considerable amount of objects. In this post I'm going to discuss the options available when scripting out a database deployment file from a dacpac when using sqlpackage.exe. I'm also going to investigate how resource intensive they are and what we can do to limit the hardware resources used and how much of an impact this has on our waiting times, with some interesting results on where we were taking the performance hit. Recently I've noticed that when we have more than one build running at the same time

Continuous Integration with Jenkins, SQL Server and Windows Containers

Why use Windows Containers? When creating database applications we need consistency in all our environments to ensure quality releases. Traditionally developers might have their own instance of SQL Server on their workstation to develop against. Database projects would be created in SSDT and pushed to source control when ready for testing. If you’re not using SSDT for database development already, then you should seriously consider it to make your life easier and increase the quality of your releases. Ed Elliot explains why in this blog post . A problem with CI for databases is that databases are a shared resource

SSDTPokedex: Integrating Slack and VSTS Into GitHub Repo - An Infinite Improvement

Hello! One of the home projects I’m currently working on is migrating a database over from SQLite to SQL Server. There’s several tasks that need to be accomplished before we can say that this is successful. Broadly speaking they fit into the key pillars of successful software development: Plan Develop Deploy Measure   So the development part is well under way: there is a repo in GitHub of an SSDT solution that will compile locally (it works on my machine anyway.) Plus I have a couple of releases: one intentionally broken and one fixed. Now there’s plenty of tasks I

Creating VSTS Extensions for Visual Studio Marketplace

Hello! One of the neat things about VSTS is the Visual Studio Marketplace. To quote the VSTS Support Page , the Visual Studio Marketplace is “new destination and the exclusive place for purchasing subscriptions, and for discovering extensions for Visual Studio Team Services and Visual Studio Code.” OK, sounds pretty exciting. But what is an Extension? Again, let’s use Microsoft’s own documentation about Extensions – “Extensions are simple add-ons that can be used to customize and extend your DevOps experience with VSTS. They are written with standard technologies - HTML, JavaScript, CSS - and can be developed using your preferred

Establishing a git workflow with VSTS and Visual Studio - git rebase

In this post I will look at git rebase in Visual Studio, in particular rebasing a working branch onto master and at what happens to each commit. This post will not make a case for rebase over alternatives, though the findings will contribute to the workflow that will be decided upon. All posts in this series on establishing a git workflow for VSTS and Visual Studio are: Establishing a git workflow with VSTS and Visual Studio Configuring a VSTS repo from the Github sample repo Git merge Git rebase (this post) Recap on setup If you have just landed on

Establishing a git workflow with VSTS and Visual Studio - pull requests

In this post I will look at pull request processing in VSTS. Over and above the pull request process, what is also interesting is any differences in the commit graph on the remote repo when merging up from a merged as compared to a rebased branch. As with previous posts in this series, this post will not make a case for either, though findings will contribute to the workflow that will be decided upon. All posts in this series on establishing a git workflow for VSTS and Visual Studio are: Establishing a git workflow with VSTS and Visual Studio Configuring

Automating SQL Server Performance Testing

You run performance tests as well as functional tests when deploying new code changes to SQL Server, right? Not many people do, I think you should, and this article will show you how to do it by harnessing an existing performance tool, rather than writing your own monitoring infrastructure from scratch. Any good performance monitoring tool that records information to a database will do fine, and we prefer to use Sentry One . Here are the steps to accomplish this. Create a baseline database When you release your database change, you want to have something to compare against as an

Establishing a git workflow with VSTS and Visual Studio - git merge

In this post I will look at git merge in Visual Studio, in particular merging down from master into a branch and at what happens to each commit. This post will not make a case for merge over alternatives such as rebase, though the findings will contribute to the workflow that will be decided upon. All posts in this series on establishing a git workflow for VSTS and Visual Studio are: Establishing a git workflow with VSTS and Visual Studio Configuring a VSTS repo from the Github sample repo Git merge (this post) Git rebase Recap on setup If you

Git: How to work on a feature branch but pull in later commits from another branch?

On a client site last week the question was raised: I want to work on a feature for a project which will take longer than other people merging their branches into the dev branch. I therefore want to merge any changes on the dev branch into mine, test my changes before pushing back to the dev branch, and then and ultimately master for a release. We are using a git flow methodology whereby the development manager will merge feature branches from developers’ branches via pull requests into the dev branch. Tests are run and if they pass, we merge into