Docker


Οι Analyzer μας διανέμονται ως εικόνες Docker.

Διάβασε τις γενικές πληροφορίες για το Docker στα Εργαλεία για να εξοικειωθείς με το πώς λειτουργούν.

Ενσωμάτωση

Όταν τρέχουμε έναν Analyzer για να αναλύσει μια λύση, εκτελούμε μια εντολή 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. Το slug της άσκησης
  2. Τη διαδρομή προς τον κατάλογο της λύσης
  3. Τη διαδρομή προς τον κατάλογο εξόδου

Συμβάσεις

Όλοι οι Analyzer μας ακολουθούν τις παρακάτω συμβάσεις στην υλοποίησή τους:

  • Το Dockerfile βρίσκεται στον ριζικό κατάλογο του αποθετηρίου.
  • Ο κατάλογος εργασίας πρέπει να είναι το /opt/analyzer.
  • Το entrypoint είναι το /opt/analyzer/bin/run.sh
  • Το script /opt/analyzer/bin/run.sh δέχεται 3 ορίσματα:
    1. Το slug της άσκησης
    2. Τη διαδρομή προς τον κατάλογο της λύσης
    3. Τη διαδρομή προς τον κατάλογο εξόδου

Για περισσότερες πληροφορίες, δες Η διεπαφή.

Note

Τα νέα αποθετήρια analyzer θα χρησιμοποιούν αυτές τις συμβάσεις από προεπιλογή.