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}-analyzer" \
        "${exercise_slug}" "/solution" "/output"

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

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

कन्वेंशन

हमारे सभी एनालाइज़र अपने कार्यान्वयन में ये कन्वेंशन अपनाते हैं:

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

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

Note

नए एनालाइज़र रेपो डिफॉल्ट रूप से इन कन्वेंशन का उपयोग करेंगे।