Запуск Codeclimate локально - PullRequest
0 голосов
/ 05 мая 2018

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

Для локального тестирования 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 Ответ

0 голосов
/ 05 мая 2018

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

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

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

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

...