Why?

By default, jobs can run in parrallel. For some use cases this might be ideal (ex. testing all incoming commits from a repository). For other use cases this might be less ideal (ex. deploying an application).

You can also provided a value by specifying the max_in_flight value.

5.2.2 Serial Job

Setting the serial flag restricts a job to run one build at a time.

Pipeline Configuration

---
jobs:
  - name: serial-job
    public: true
    serial: true
    plan:
      - task: simple-task
        config:
          platform: linux
          image_resource:
            type: registry-image
            source: { repository: busybox }
          run:
            path: echo
            args: ["Hello, world!"]

References