Code Sandbox

    CircleCIをローカルマシンで実行する

    CircleCI CLI (circleciコマンド)と Docker を使います。CircleCI CLI のインストールがまだの場合以下で入れます。

    curl -fLSs https://circle.ci/cli | bash
    

    コマンドはlocal executor --config <設定へのパス>ですが、注意する点として、2020-01現在では CircleCI2.1 の書き方には対応していません。よって使う前に CircleCI2.0 の書き方に変換する必要があります。

    後はコマンドを実行するだけです。

    circleci local executor \
      --config .circleci/config.yml
    

    デフォルトではこれはjobs.buildを実行します。もし別のジョブを実行したい場合は--jobフラグがあります。以下のようにするとsandboxジョブを走らせることができます。

    circleci local executor \
      --config .circleci/config.yml \
      --job sandbox
    

    他に環境変数を渡せる--env VAR=VALやブランチをデフォルトのplaygroundから変更できる--branchなどのオプションがあります。

    ただしローカル実行ではワークフローは見ていないようです。つまり以下のような設定の時に、

    workflows:
      workflow:
        jobs:
          - sandbox:
              filters:
                branches:
                  only:
                    - playground
    

    --branch developオプションを付けてもワークフローのフィルターなどがちゃんと動作してるかなどは確認できません。