Я пытаюсь установить Codeclimate через Docker, читая 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
и после долгого ожидания. Я получил ошибку тайм-аута.
Что-то не так с моей конфигурацией?
Команда, которую вы запускаете, извлекает образы докера с именем 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, на который вы ссылаетесь в своем вопросе.
Надеюсь, это решит вашу проблему.
Других решений пока нет …