Auto Builds
-
I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
-
I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
Curently we're using a bunch of batch files, which are originated several years ago. I'd like to update out build environment to NAnt[^] plus Draco.NET[^] or Hippo.NET[^]. If only I'd have the time :sigh: Regards Thomas
Disclaimer:
Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you. -
I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
For our current product, I use a combination of a Windows application and some VBScript. The Windows application lets you enter some information (version number, build number, and a couple of version resource strings) into a dialog. A couple of header files are automatically checked out of SourceSafe, edited, and checked back in. The app then runs the VBScript, which does the actual build. The build process 'gets' the source out of SourceSafe and compiles all of the solutions (about 20 all told, between one application, several services, a bunch of COM objects, and the odd device driver here and there). Once the compile finishes, the script builds the install. The installation files and some additional material are then copied into a directory that is essentially an image of what goes on the distribution CD. The final step for the script is to post-process log files from each step of the build into a single HTML log. The HTML summarizes the results of the build at the top, and includes links to the results for each step. An application was used as a driver for the build process, because it's easier to validate the information entered. The VBScript made it easy to run the various build tools (SourceSafe, VS.NET, InstallShield) via OLE Automation. It also made file manipulation much easier. We took a brief look at some of the tools out there, and none of them had the flexibility we needed. In one form or another, they all insisted that your workflow conform to their requirements. The one option that some tools offer that would be useful is the ability to distribute the build process between several machines, thereby reducing the time required. Our product build currently requires a little over an hour, so this wasn't critical.
Software Zen:
delete this;
-
I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
I'm using NANT right now including running unit tests with NUnit. It took me a while to setup and my builds are only going to zip files. I'd like to take the time to convert it to msi, but it is working well now. I'm using it to build an ASP.net application, associated database and batch processes as well as push them out to our test server. I've been meaning to check out Draco.NET though. -Andy Brummer
-
Curently we're using a bunch of batch files, which are originated several years ago. I'd like to update out build environment to NAnt[^] plus Draco.NET[^] or Hippo.NET[^]. If only I'd have the time :sigh: Regards Thomas
Disclaimer:
Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you. -
For our current product, I use a combination of a Windows application and some VBScript. The Windows application lets you enter some information (version number, build number, and a couple of version resource strings) into a dialog. A couple of header files are automatically checked out of SourceSafe, edited, and checked back in. The app then runs the VBScript, which does the actual build. The build process 'gets' the source out of SourceSafe and compiles all of the solutions (about 20 all told, between one application, several services, a bunch of COM objects, and the odd device driver here and there). Once the compile finishes, the script builds the install. The installation files and some additional material are then copied into a directory that is essentially an image of what goes on the distribution CD. The final step for the script is to post-process log files from each step of the build into a single HTML log. The HTML summarizes the results of the build at the top, and includes links to the results for each step. An application was used as a driver for the build process, because it's easier to validate the information entered. The VBScript made it easy to run the various build tools (SourceSafe, VS.NET, InstallShield) via OLE Automation. It also made file manipulation much easier. We took a brief look at some of the tools out there, and none of them had the flexibility we needed. In one form or another, they all insisted that your workflow conform to their requirements. The one option that some tools offer that would be useful is the ability to distribute the build process between several machines, thereby reducing the time required. Our product build currently requires a little over an hour, so this wasn't critical.
Software Zen:
delete this;
Thanks Gary... will probably end up doing something similar. Would you mind sharing what the Windows application is that you are using? -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
-
I'm using NANT right now including running unit tests with NUnit. It took me a while to setup and my builds are only going to zip files. I'd like to take the time to convert it to msi, but it is working well now. I'm using it to build an ASP.net application, associated database and batch processes as well as push them out to our test server. I've been meaning to check out Draco.NET though. -Andy Brummer
andy brummer wrote: I'm using NANT right now including running unit tests with NUnit Will look into these as well... thanks! -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
-
I'm looking for suggestions on setting up an auto-build for my dev environment. What do you all use? Batch files, a build program like FinalBuilder, or something else? FinalBuilder looks nice but is quite expensive. Do you know of any other products like this that I should try out? By the way, I'm using Visual C++ .NET 2003. Thanks :cool: -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
Hi Edward, In the Whidbey timeframe, Microsoft is coming out with their own tool for this, MSBuild. Marcie http://www.codeproject.com
-
Hi Edward, In the Whidbey timeframe, Microsoft is coming out with their own tool for this, MSBuild. Marcie http://www.codeproject.com
Thanks Marcie, I hadn't heard about MSBuild yet. Watching Alex's webcast as we speek :-) -Ed -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
-
Thanks Gary... will probably end up doing something similar. Would you mind sharing what the Windows application is that you are using? -- Edward Livingston (aka ExtraLean) -- "I still maintain that seeing a nipple is far less disturbing than seeing someone get their brains blown out." -- Chris Maunder
The Windows application is something I wrote, and is specific to our product and build process. The application is a simple property sheet, with three tabs. The first tab displays edit fields for the version number, build number, special and private build comments. The second and third tabs display the contents of the two header files that define constants that are compiled into our version resources. When the application starts up, it gets the two header files out of SourceSafe. As the user changes the fields on the first page, the application edits the contents of the second and third pages so that they match. If the user clicks on the build button, the app checks out the two header files, rewrites them with the values in the fields on the first page, and then checks them back in. The next thing the build application does is it starts a VBScript that performs the actual build process. The script retrieves the entire project structure for the product from SourceSafe into an empty directory. The script then iterates through the top-level directories beneath the build directory, running VS.NET from the command line and building each solution file it finds. After the compile completes, the script runs InstallShield through OLE Automation and builds the installation. The script then copies the installation files to a final directory from which our test group can install the product. As a final step, the script reformats various text logs from the compile and InstallShield steps into a single HTML report that summarizes the results of the build. This sounds like a lot, but it really isn't. Given that we will go through 50-100 builds from the time we go from beta test to first customer ship, having the build process be as simple as possible really helps. On a previous product we had a set of batch files to do the job. They worked fairly well, but they were a pain to maintain, and we had to edit version information into our header file by hand. With the new approach, a build can be started with only a few clicks. I spent one day on the Windows application, and 4-5 days on the script. This thing builds a product that consists of two user .EXE's, ~20 COM objects, 3 services, and a device driver. There's over 300 source files and probably in excess of 500,000 lines of code. There's just no way you could reliably build the whole thing without an automated process.
Software Zen:
delete this;