Command

ジョブステップを細かく名前を付けて細分化する為に使います。例えばどこかにバックアップする処理を行うのに

  1. tgzに圧縮
  2. どこかへアップロード

というような複数のフローに対してbackupのようなコマンド名を付けることで、それをジョブステップの中の重要なキーのように置いて使うことができます。

commands:
  backup:
    description: ...
    parameters:
      file_name:
        type: string
        default: ...
    steps:
      - run: tar -cvzf << parameters.file_name >>.tgz foo
      - run: ./backup.sh
      
jobs:
  build:
    executor: ...
    steps:
      - backup:
          file_name: ...

形から分かる用にcheckoutなどは CircleCI が定義してるコマンドなのです。