Наші аналізатори розгортаються як 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-образу ми передаємо три аргументи:
Усі наші аналізатори дотримуються таких угод у своїй реалізації:
Dockerfile лежить у кореневому каталозі репозиторію./opt/analyzer./opt/analyzer/bin/run.sh
/opt/analyzer/bin/run.sh приймає 3 аргументи:
Докладніше див. Інтерфейс.
Нові репозиторії аналізаторів типово будуть використовувати ці угоди.