Docker


Representerは、Dockerイメージとしてデプロイされています。

これらの仕組みに慣れるために、まずはToolingのDockerに関する一般的な情報をお読みください。

統合

Representerを実行して解答の表現を作成するときは、次のような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}-representer" \
        "${exercise_slug}" "/solution" "/output"

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

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

規約

Representerはすべて、実装において次の規約に従っています。

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

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

Note

新しいRepresenterのリポジトリでは、デフォルトでこの規約が使われます。