Skip to content

Instantly share code, notes, and snippets.

@kaz29
Last active June 7, 2018 07:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kaz29/2317de82f6633ac5b68c107fbfb67c02 to your computer and use it in GitHub Desktop.
Save kaz29/2317de82f6633ac5b68c107fbfb67c02 to your computer and use it in GitHub Desktop.

phpcliイメージ

概要

PHPコードの静的解析を実施するためのイメージ。必要なものを随時追加していく。

  • php_codesniffer
  • phpmd
  • phpcpd
  • php7cc
  • phploc

メモ

php7ccが下記に依存しているため、phpcpdをデフォルトでインストールした場合にコンフリクトするので事前にバージョンを指定してインストールしている。

  • symfony/console=v2.6.13
  • symfony/finder=v3.4.11

build

docker build -t kaz29/phpcli:latest .

run

$ docker run -it --rm  --name phpcli kaz29/phpcli:latest /bin/bash --login

# カレントディレクトリをマウントする場合 
$ docker run -it --rm -v `pwd`:/srv --name phpcli kaz29/phpcli:latest /bin/bash --login
FROM php:7.1.17-cli-alpine3.7
RUN apk add --no-cache curl bash git tree \
&& { \
curl -sS https://getcomposer.org/installer; \
} | php \
&& mv composer.phar /usr/local/bin/composer \
&& echo "export PATH=~/.composer/vendor/bin:$PATH" >> /root/.bash_profile
RUN composer global require "symfony/console=v2.6.13" \
&& composer global require "symfony/finder=v3.4.11" \
&& composer global require "squizlabs/php_codesniffer=*" \
&& composer global require "phpmd/phpmd=2.6.0" \
&& composer global require "sebastian/phpcpd=2.0.2" \
&& composer global require "sstalle/php7cc=1.2.1" \
&& composer global require "phploc/phploc=3.0.1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment