Docker


アナライザーはDockerイメージとしてデプロイされています。

これらがどのように動作するのかを知るために、ツールのDockerに関する一般的な情報に目を通してください。

連携

解答を解析するためにアナライザーを実行するときは、次のようなDockerコマンドを実行します。

docker run \
        --rm \
        --network none \
        --mount type=bind,src="${solution_dir}",dst=/solution \
        --mount type=bind,src="${output_dir}",dst=/output \
        --tmpfs /tmp:rw \
        "exercism/${track_slug}-analyzer" \
        "${exercise_slug}" "/solution" "/output"

Dockerイメージには3つの引数を渡しているのがわかります。

  1. 演習のスラッグ
  2. 解答のディレクトリのパス
  3. 出力ディレクトリのパス

規約

すべてのアナライザーは、実装において次の規約に従います。

  • Dockerfileはリポジトリのルートディレクトリにあります。
  • 作業ディレクトリは/opt/analyzerにします。
  • エントリーポイントは/opt/analyzer/bin/run.shです。
  • /opt/analyzer/bin/run.shスクリプトは3つの引数を受け取ります。
    1. 演習のスラッグ
    2. 解答のディレクトリのパス
    3. 出力ディレクトリのパス

詳しくはインターフェースを参照してください。

Note

新しいアナライザーのリポジトリは、デフォルトでこれらの規約を使用します。