yuji0602’s blog

日々思っていることなど。

BitbucketのpipelinesでテストをやるためにDocker Hubにアカウントを作った

仕事では、gitはbitbucketを使っています。

bitbuketにはpipelinesというCIツールがあって、git pushした後とかPRをmergeした時にテストが実行されるようになります。

ja.atlassian.com

そのpipelinesでテストを動かしたいなと思ったので、Docker Hubにアカウントを作ってからリポジトリを作成してみました。

https://hub.docker.com/r/yuji0602/php7_wp-cli_phpunit/

これは何の用途で使うかというと、WordPressに追加したプラグインのテストを実行したいなと思ったのです。

Dockerfileの中身はこんな感じです。

FROM php:7.0-apache

RUN apt-get update \
  && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev ssmtp subversion mysql-client\
  && docker-php-ext-install pdo_mysql mysqli mbstring gd iconv mcrypt

RUN a2enmod ssl && a2enmod rewrite

RUN curl -O https://phar.phpunit.de/phpunit-6.4.3.phar && \
    chmod +x phpunit-6.4.3.phar && \
    mv phpunit-6.4.3.phar /usr/local/bin/phpunit

RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
    chmod +x wp-cli.phar && \
    mv wp-cli.phar /usr/local/bin/wp

たまにローカルでテストを忘れるのですが、pushした段階でテスト実行されるようになったのでだいぶ助かりました。