|
Long-story warning. I am a dev who is rapidly falling into the realm of responsibility which would be best served by CI/DevOps/whatever tools. We are a primarily C# Windows desktop software shop with a SVN repo and a bad job at config management. I am trying to fix that. Our current build process: Everyone checks in to the single SVN repo trunk. We very rarely branch, unless there is a specific dichotomy of features being delivered to multiple "Buildings". Occasionally, a build is required. We do not do anything approaching "continuous". It is all driven by whatever the next official delivery is. We have a guy who owns a VM that has our "build server" on it, which is in reality an instance of Visual Studio and some scripts he wrote to update from SVN and run a build with the right flags. That build is then dropped on a fileshare, and the msi is installed on ~10 machines in our lab for testing. Our official delivery configuration requirements look like this: 10 separate "Buildings" ~10 "Rooms" within each "Building" So we have, give or take, 100 configuration files that get fed to the application depending on which "room" within which "building" the app is being deployed on. We do have an app that auto-generates the xml config based on the input of "Building" and "Room", so we aren't actually manually managing 100 configs, but due to some politics, we may need 100 discrete config files for CM reasons. We currently manually install our app on each "Room"'s workstation. Things that I know we need (to fix): Build process. We need it to not be one guy's VM, we need it to be automated, we need it to be via some kind of "industry standard" method instead of a hacked together clusterfuck. Deployment. Our Lab and the "Buildings" are not available externally via any networking. So someone does have to bring a CD or hard drive with the build. From that point in, we *do* have the capability of introducing some kind of remote/automatic deployment system. Version control. We should probably not just be adding poo poo into the trunk constantly and calling a specific build number as the 'released' version. This is another kludge. ` TL;DR We are a mess and I need help. Where do I start? Technologies, books, blogs, anything.
|
# ¿ Jun 2, 2015 20:05 |
|
|
# ¿ Apr 29, 2024 15:29 |
|
syphon posted:This is the book I've seen most people recommend as the place to get started with CI/CD. It's commonly referred to as the "Black book" - http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912 I literally have a copy of that book open on my desk. Good to know I'm starting in the right place! I will get Jenkins up and running as Step 1. RE: Github, When you say publicly available, does that mean it's hosted locally, or on their servers but private? We also have a requirement that nothing can be hosted by a third party (which is horrible but it comes with the territory). This also addresses VS Online, which I assume hits the same roadblock. I'll check them both out for suitability though, thank you both. EDIT: Github Enterprise supports local hosting and is $250/user/year-ish. lament.cfg fucked around with this message at 21:22 on Jun 2, 2015 |
# ¿ Jun 2, 2015 21:10 |