coala

linterhub: Create a Docker image for phpmd

Task

Create a Docker image with Alpine Linux for the phpmd linter.

Register an issue

Fork repository

Fork the linterhub-docker repository.

Build

Find an Alpine-base image on Dockerhub with a php package manager that can install phpmd.

Create a new Dockerfile based on the previous one and install the linter phpmd (and dependencies if needed). e.g. https://github.com/repometric/linterhub-docker/blob/master/engines/jshint/Dockerfile

Please do not install unnecessary dependencies!

Build container, make sure there are no errors during build.

Manual tests

  1. Run the phpmd linter on a sample php project file using phpmd installed on your computer

  2. Perform the same analysis using your container

    docker run -v /local_folder:/container_folder -it linterhub/your_favorite_engine engine_command
    

    Make sure that outputs are equal.

Automated tests

Introduce a simple test as described above using Automated Test: https://docs.docker.com/docker-cloud/builds/automated-testing/#set-up-automated-test-files (ensure that expected analysis results are equal to the actual results).

Submit a PR

Once you've finished, please submit a PR to linterhub-docker .

Task tags

  • docker
  • php
  • alpine
  • linux

Students who completed this task

Nalin Bhardwaj

Task type

  • code Code
  • done_all Quality Assurance
close

2017