Docker


हमारे टेस्ट रनर 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}-test-runner" \
        "${exercise_slug}" "/solution" "/output"

आप देख सकते हैं कि हम Docker इमेज को तीन आर्गुमेंट देते हैं:

  1. अभ्यास का स्लग
  2. हल की डायरेक्टरी का पाथ
  3. आउटपुट डायरेक्टरी का पाथ

कन्वेंशन

हमारे सभी टेस्ट रनर अपने काम में ये कन्वेंशन अपनाते हैं:

  • Dockerfile रेपो की रूट डायरेक्टरी में होती है।
  • वर्किंग डायरेक्टरी /opt/test-runner होनी चाहिए।
  • एंट्रीपॉइंट /opt/test-runner/bin/run.sh है।
  • /opt/test-runner/bin/run.sh स्क्रिप्ट 3 आर्गुमेंट लेती है:
    1. अभ्यास का स्लग
    2. हल की डायरेक्टरी का पाथ
    3. आउटपुट डायरेक्टरी का पाथ

ज़्यादा जानकारी के लिए इंटरफेस देखिए।

Note

नए टेस्ट रनर रेपो डिफॉल्ट रूप से ये कन्वेंशन अपनाएँगे।