Unsere Analyzer werden als Docker-Images ausgerollt.
Bitte lies die allgemeinen Docker-Informationen zum Tooling, um dich damit vertraut zu machen, wie diese funktionieren.
Wenn wir einen Analyzer ausführen, um eine Lösung zu analysieren, führen wir einen Docker-Befehl aus, der so aussieht:
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"
Du kannst sehen, dass wir drei Argumente an das Docker-Image übergeben:
Alle unsere Analyzer verwenden in ihrer Implementierung die folgenden Konventionen:
Dockerfile befindet sich im Wurzelverzeichnis des Repos./opt/analyzer sein./opt/analyzer/bin/run.sh
/opt/analyzer/bin/run.sh erwartet 3 Argumente:
Weitere Informationen findest du unter Die Schnittstelle.
Neue Analyzer-Repos verwenden diese Konventionen standardmäßig.