Запуск Codeclimate локально

Я пытаюсь установить Codeclimate через докер, прочитав документацию по Codeclimate.

Для того, чтобы проверить Codeclimate локально. Я сделал новую папку и положил hello.php а также .codeclimate.yml,

Следующее мое hello.php

<?php 

echo("Hello");

Следующее мое .codeclimate.yml

version: "2"
checks:
  argument-count:
    enabled: true
  complex-logic:
    enabled: true
  file-lines:
    enabled: true
  method-complexity:
    enabled: true
  method-count:
    enabled: true
  method-lines:
    enabled: true
  nested-control-flow:
    enabled: true
  return-statements:
    enabled: true
  similar-code:
    enabled: true
  identical-code:
    enabled: true

И я запускаю codecliate следующим образом через мой терминал

docker run \
  --interactive --tty --rm \
  --env CODECLIMATE_CODE="$PWD" \
  --volume "$PWD":/code \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume /tmp/cc:/tmp/cc \
  codeclimate/codeclimate analyze

Это показывает как Starting analysis и после долгого ожидания. Я получил ошибку тайм-аута.

Что-то не так с моей конфигурацией?

1 ответ

Решение

Команда, которую вы запускаете, извлекает образы докеров с именем codeclimate/codeclimate-structure а также codeclimate/codeclimate-duplication, если вы зайдете сюда, то заметите, что они сжаты ~2 ГБ, поэтому выполнение команды в течение длительного времени вполне понятно.
Вы можете выдвинуть команду, потянув изображение заранее, запустив docker pull codeclimate/codeclimate-structure & docker pull codeclimate/codeclimate-duplication,

Я выяснил, что это так, добавив debug env var в команду docker run (-e CODECLIMATE_DEBUG=1), это часто может пригодиться, когда инструменты CLI ведут себя ненормально.

Еще одна вещь, которая поддерживает климат, и может помочь вам в подобных ситуациях - установить более высокие пороги тайм-аута - -e CONTAINER_TIMEOUT_SECONDS=1800,

Вся эта информация присутствует в файле readme, на который вы ссылаетесь в своем вопросе. Надеюсь, это решит вашу проблему.

Другие вопросы по тегам