Docker


Az elemzőink Docker-imágként vannak élesítve.

Olvasd el az általános tooling Docker-információkat, hogy megismerkedj azzal, hogyan működnek ezek.

Integráció

Amikor egy elemzőt futtatunk, hogy elemezzünk egy megoldást, egy ilyen Docker-parancsot hajtunk végre:

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"

Láthatod, hogy három argumentumot adunk át a Docker-imázsnek:

  1. A feladat slugja
  2. A megoldás könyvtárának elérési útja
  3. A kimeneti könyvtár elérési útja

Konvenciók

Az összes elemzőnk a következő konvenciókat használja a megvalósításában:

  • A Dockerfile a repo gyökérkönyvtárában található.
  • A munkakönyvtár a /opt/analyzer legyen.
  • Az entrypoint a /opt/analyzer/bin/run.sh
  • A /opt/analyzer/bin/run.sh szkript 3 argumentumot vár:
    1. A feladat slugja
    2. A megoldás könyvtárának elérési útja
    3. A kimeneti könyvtár elérési útja

További információért lásd Az interfészt.

Note

Az új elemző-repók alapértelmezés szerint ezeket a konvenciókat használják.