One of my goals in spinning up a software development team at Foxguard has been to have a development environment ready to go before the first person comes through the door. That means a vague skeleton of the application we are developing as well as the apparatus of building, deploying, and testing that application. Since anything worth doing is worth doing right we’re approaching the latter problem with a Continuous Deployment solution in mind. That means that every time we commit code it is picked up by a automated script, built, tested, and published — ready to begin evaluation through some as-yet-to-be-determined test suite.
The first part of this is fairly easy. Jenkins is a great tool and there is no shortage of tutorials out there on how to make it play nicely with GitHub, MSBuild, or any other technologies you might be using.
Deployment, though, is a bit of an more difficult nut to crack.
MSBuild can be configured to spit out some deployment packages with the addition of a few arguments. Here’s my Jenkins configuration by way of example:
A project built like this will get you a bunch of deployment configuration files and batch files dumped into “\workspace\[Project]\obj\Release\Package\”. Among them will be a file named [ProjectName].SetParameters.xml which has database connection information that you’re going to want to change and a nigh impenetrable command file named [ProjectName].deploy.cmd.
This is where I ran into trouble. Running the cmd file gave me errors which looked a lot like this:
A lot of fruitless Googling followed this before I started to wonder if maybe, just maybe, Jenkins (or maybe the command file itself) might be having problems with the expanded directory naming convention that Microsoft ported over from the Unix world back in the 1990s. So, I added a line to move all of the deployment files into a much less challenging looking directory: “C:\Deploy\” and gave the build another kick.
And it worked. Because, of course it worked.
In any case, fellow traveler, should you find yourself on this page because Google brought you here, I hope you can benefit from my frustration. Of course, with any luck, this issue will be fixed long before anyone bothers to read this.
Dear Trump Supporters,I voted for you. Not your guy, you. Your guy won; my gal lost. Which means, I'm afraid, that you lost. I'm a college educated, white-collar, technology professional. I'm gonna be fine in a Trump presidency. You... well things are going to be harder for you. Let me tell you how this is […]
Since Kennedy destroyed Nixon in the 1960 Presidential Debate (unless you were listening on the radio, in which case Nixon smashed Kennedy) a great deal of thought has gone into how debates are structured and the subtle details thereof. Rarely, however, do we get a behind-the-scenes look at how that process works. At the time […]
Since the shooting of nine parishioners in a church in South Carolina by a self-avowed white supremacist earlier this month a great deal has been said and written on the subject of the Confederate Flag and its place in American - and particularly Southern - culture. A Confederate flag flies over the capitol of South […]