Docker


我們的 Test Runner 都是以 Docker 映像檔的形式部署的。

請閱讀一般 Tooling Docker 資訊,以了解它們的運作方式。

整合

當我們執行 Test Runner 來測試解答時,會執行像這樣的 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}-test-runner" \
        "${exercise_slug}" "/solution" "/output"

可以看到,我們傳了三個引數給 Docker 映像檔:

  1. 練習的 slug
  2. 解答目錄的路徑
  3. 輸出目錄的路徑

慣例

我們所有的 Test Runner 在實作時都採用以下慣例:

  • Dockerfile位於儲存庫的根目錄。
  • 工作目錄應該是/opt/test-runner。
  • 進入點是/opt/test-runner/bin/run.sh。
  • /opt/test-runner/bin/run.sh指令碼接受 3 個引數:
    1. 練習的 slug
    2. 解答目錄的路徑
    3. 輸出目錄的路徑

如要了解更多資訊,請參閱介面。

Note

新的 Test Runner 儲存庫預設會採用這些慣例。