There are a variety of ways in which a build can be triggered for a plan:
Code updated — a build can be triggered whenever one or more authors checks-in code.
Scheduled build — a build can be scheduled to occur at regular intervals.
Dependency — a build can be triggered whenever a successful build occurs for another plan.
Manual build — a build can be triggered manually.
Initial clean build — a build will be triggered when a new plan is created.
The way in which each build was triggered is listed in the 'Reason' column on the Dashboard.
Considerations for choosing a Build Strategy
Code updated: Triggering a build when code is updated ensures that a build only occurs when necessary. There are two ways to trigger a build when code is updated:
"Pull strategy" —
Polling the repository for code changes means that Bamboo will check-out the source-code on a regular basis, and examine it for changes. If Bamboo detects a change, it will trigger a build.
See 3.2.1 Polling the Repository for Code Changes.
"Push strategy" —
Triggering a build on code check-in has the advantage of placing minimal load on your Bamboo server, but requires that your source-code repository is configured to fire an event to the Bamboo server.
See 3.2.2 Triggering a Build on Code Check-in.
Scheduled build: Triggering a build on schedule can allow a team to structure the day according to a predictable schedule. Note that scheduled builds are run regardless of whether or not any code changes have occurred. There are two ways to schedule a build:
Single Daily Build —
A single daily build runs at a time of your choice. This is particularly suitable for builds that take a long time to complete.
Cron-Based Scheduling —
A cron-based schedule allows you to schedule builds according to a flexible cron expression. For example, "0 0/30 9-19 ? * MON-FRI" would trigger a build every half-an-hour from 9am to 7pm, Monday to Friday. See 3.3.2 Specifying a Cron-based Schedule.