Existing tools such as Make can be used via custom configuration file or using the command-line.
Custom tools such as shell scripts can also be used, although they become increasingly cumbersome as the codebase grows more complex.
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?]