Docker


I nostri analyzer vengono rilasciati come immagini Docker.

Leggi le informazioni generali su Docker per gli strumenti per capire come funzionano.

Integrazione

Quando eseguiamo un analyzer per analizzare una soluzione, eseguiamo un comando Docker simile a questo:

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"

Come puoi vedere, passiamo tre argomenti all'immagine Docker:

  1. Lo slug dell'esercizio
  2. Il percorso della directory della soluzione
  3. Il percorso della directory di output

Convenzioni

Tutti i nostri analyzer seguono le seguenti convenzioni nella loro implementazione:

  • Il Dockerfile si trova nella directory principale del repo.
  • La directory di lavoro deve essere /opt/analyzer.
  • L'entrypoint è /opt/analyzer/bin/run.sh
  • Lo script /opt/analyzer/bin/run.sh accetta 3 argomenti:
    1. Lo slug dell'esercizio
    2. Il percorso della directory della soluzione
    3. Il percorso della directory di output

Per maggiori informazioni, vedi L'interfaccia.

Note

I nuovi repo degli analyzer useranno queste convenzioni per impostazione predefinita.