php - 在本地运行 Codeclimate
问题描述
我尝试通过阅读 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
您正在运行的命令是拉取名为and的 docker 映像codeclimate/codeclimate-duplication
,如果您去这里,您会注意到它们的压缩量约为 2gb,因此需要很长时间才能运行该命令是可以理解的。您可以通过运行&
提前拉取图像来扩展命令。 docker pull codeclimate/codeclimate-structure
docker pull codeclimate/codeclimate-duplication
我通过将调试环境变量添加到 docker run 命令-e CODECLIMATE_DEBUG=1
(
另一件事是代码气候支持,并且可以在这种情况下帮助您设置更高的超时阈值 - -e CONTAINER_TIMEOUT_SECONDS=1800
.
所有这些信息都存在于您在问题中链接到的自述文件中。希望这能解决您的问题。
推荐阅读
- java - How to unit test a kafka stream application that uses session window
- python - sqlcontext.sqlfield id 中的编码错误:IntegerType 不能接受类型中的对象 u'1'
- screen-readers - 屏幕阅读器读取列名数百次
- scala - 每次某列更改后获取一行
- lotus-notes - 是否有标记为软删除的文档的标志?
- user-interface - 从一组代码同时打开 2 个相同的窗口
- javascript - JS 弄乱了幻灯片的定位
- python-3.x - Python for循环要求用户输入密码3次
- ruby - 在 gem 更新期间,我收到 /usr/bin 目录的权限错误
- azure-devops - 通过注册表在 NPM 中找不到包