In this post, I'm going to look at how to structure a FinalBuilder project so that it will run on your dev machine, or on your Continua CI Server without modification. This allows the best of both worlds, develop and debug your build process on your development machine, and then later run it on your CI server.
Continuous Integration Servers are often underspecified when it comes to hardware. In the early days of Automated Builds, the build server was quite often that old pc in the corner of the office, or an old server in the data center that no one else wanted. Developers weren't doing many builds per day, so it worked, it was probably slow but that didn't seem to matter much.
Fast forward 20 years, and the CI server is now a critical service. The volume and frequency of builds has increased dramatically, and a slow CI server can be a real problem in an environment where we want fast feedback on that code we just committed (even though it "worked on my machine"). Continuous Deployment only adds to the workload of the CI server.
In this post I'm going to cover off some ideas to hopefully improve the performance of your CI server.
In this post I'm going to look at Windows Manifest Files, what they do, why we need them and how to use them in Delphi and FinalBuilder. We often get asked questions about uac prompts, high dpi settings, windows themes etc when compiling Delphi & C++Builder projects in FinalBuilder. In this post we'll dissect windows manifest files, and look at how the project settings in Rad Studio interact with the manifest file, and why you should use a custom manifest file.
Over the last year or so, we have seen more and more "bug reports" about compiling Delphi projects with FinalBuilder, in particular, reporting issues with version info when using Delphi 10.1 (Berlin) and Delphi 10.2 (Tokyo).
The recent Visual Studio 2017 Update (also known as VS 15.3) introduced a problem with command line compilation when the Lightweight Solution Load feature is enabled.
The Delphi/Object Pascal language really hasn't changed all that much in the last 20 years. This post describes some ideas to bring it into the current century.
Today we released updates to FinalBuilder and Continua CI which add Visual Studio 2017 RC support.
Introducing Continua CI Version 1.8.1
The updates to Continua CI and FinalBuilder released today provide somewhat better integration between the two products.
We have been working on moving Continua CI to .net 4.6.1 for a future release, and during this conversion (so far, mostly just updating nuget packages), we discovered an issue that turned out to be caused by a change to .net certificate validation.