During the build phase, code that has been committed by the developers will be compiled and integrated to the main branch. Using DevOps approach, developers should practise continuous integration (CI) where they should integrate their code changes with the main branch as frequent as possible and run automated test to the new build to validate the changes. This will ensure that the new build does not cause any functionality failure or performance issue, preventing major incidents on the release day.
2.6.1 Build Tools
Build tools are programs that automate the creation of executable applications from source code. Building incorporates compiling, linking and packaging the code into a usable or executable form. Table below shows some examples of build tools.
|Jenkins||An open source automation server that helps to automate the certain part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery.|
|Apache Maven||An open source build automation tool that is used to build and manage software projects. Its release plugin can assist in release management.|
|TeamCity||Commercial CI/CD tool that builds your code, check, and run automated tests on the server before committing your changes.|
Jenkins - Continuous Integration/Continuous Delivery (CI/CD) Tool:
Figure 2-9 Jenkins Continuous Integration/Continuous Delivery (CI/CD) Tool
Teamcity - Continuous Integration Tool:
Figure 2-10 Teamcity Continuous Integration Tool
2.6.2 Build Deliverables
The deliverables for this phase includes builds with versions and change notes.