Build automation

Custom tools such as shell scripts can also be used, although they become increasingly cumbersome as the codebase grows more complex.

They encode sequences of commands to perform with usually minimal conditional logic.

As opposed to a personal computer, a server allows for a more consistent and available build environment.

Today, there are many cloud computing, software as a service (SaaS) websites for building.

Typical build triggering options include: Automating the build process is a required step for implementing continuous integration and continuous delivery (CI/CD) – all of which considered best practice for software development.[4][how?]