Docker


Representerهای ما به شکل ایمیج‌های Docker مستقر می‌شوند.

لطفاً اطلاعات عمومی Docker در بخش Tooling را بخوانید تا با نحوه‌ی کار آن‌ها آشنا شوید.

یکپارچه‌سازی

وقتی یک 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 می‌دهیم:

  1. اسلاگ تمرین
  2. مسیر پوشه‌ی راه‌حل
  3. مسیر پوشه‌ی خروجی

قراردادها

همه‌ی Representerهای ما در پیاده‌سازی‌شان از این قراردادها استفاده می‌کنند:

  • فایل Dockerfile در پوشه‌ی ریشه‌ی مخزن قرار دارد.
  • پوشه‌ی کاری باید /opt/representer باشد.
  • نقطه‌ی ورود /opt/representer/bin/run.sh است
  • اسکریپت /opt/representer/bin/run.sh سه آرگومان می‌گیرد:
    1. اسلاگ تمرین
    2. مسیر پوشه‌ی راه‌حل
    3. مسیر پوشه‌ی خروجی

برای اطلاعات بیشتر، رابط را ببینید.

Note

مخزن‌های جدید Representer به‌طور پیش‌فرض از این قراردادها استفاده می‌کنند.