How can you automate the build process for your application based on Software AG’s Adabas and Natural? I talk about our journey towards a completely automated build from scratch after each push to Git in the second episode of the Legacy Coder Podcast.
How to automate the build process for an Adabas/Natural application
Why would I want to automate the build process?What hurts should be done more often!No more long integration phases before each release!You’ll get a faster time to market for new features.You can get rid of knowledge silos concerning the release of your application.What steps may need to be automated?Upload (transfering the Natural source code to the server)Compile (CATALOG, STOW, CATALL etc.)Unit Tests (e.g. with NatUnit, see Unit Testing Natural Applications)Deployment (the actual release of the new version on the target stage)Restarting RPC servers or whatever individual steps might be necessary in your environmentWhat tools are available for automating the Natural build process?It all starts with Git or any other versioning control system (Subversion, TFS, CVS).You can use Jenkins for Continuous Integration.Software AG’s command line tools (ftouch etc.) can be scripted.Even the CATALL can be scripted by calling into Natural BATCHMODE.NaturalONE’s ant scripts for uploading and compiling Natural sources.Any additional tool that you might need (Bash scripts etc.)How can I get started?Make your project fully compilable. There can be no compile errors whatsoever.Start with a single step, e.g. automate only the compile step first.Script everything (e.g. with Bash) right from the beginning. You can easily call these scripts from Jenkins later on.Hook Jenkins up to your source code repository. It provides plugins for every major system (e.g. Git, Subversion).Try to automate the build with Jenkins. It’s completely free and easy to setup. Perhaps ask a Java colleague if he can help you.How can you go even further than what’s possible today?Try to automate imports of Adabas data that’s important for your application.Try to automate Adabas schema migrations.Implement feature toggles for more fine grained control over your application’s functionality at runtime.Recommended reading
Continuous Integration (introduction to CI by Martin Fowler)Active Record Migrations (see how Rails handles database migrations)Links
Permalink for this Podcast episodeRSS feed for the Legacy Coder PodcastGit – a free and open source distributed version control systemJenkins – The leading open source automation serverThe post Automating Your Natural Build Process – Legacy Coder Podcast #2 appeared first on SOA rocks!.