Bitbucket Pipelines - PHP
- 1 개요
- 2 Docker로 PHP 버전 지정
- 3 종속성 설치
- 4 Testing
- 4.1 PHPUnit으로 테스트
개요
이 가이드는 Docker 컨테이너에서 PHP 소프트웨어 프로젝트를 빌드하고 테스트하기 위해 Bitbucket Pipelines를 사용하는 방법을 보여줍니다.
Bitbucket Pipelines는 작성 시점에 계정 당 무료 50 분을 포함합니다. 작업 영역(Workspace)에서 Settings > Plan details를 클릭하여 해당 월의 계정 사용 시간을 확인할 수 있습니다
파이프라인을 직접 설정는 경우, 파이프라인이 빌드를 정의하는데 사용하는 bitbucket-pipelines.yml
파일에서 대부분을 구성하게 됩니다.
Docker로 PHP 버전 지정
Bitbucket Pipelines는 구성 파일의 시작 부분에 명시한 이미지를 사용하여 Docker 컨테이너에서 모든 빌드를 실행합니다. Docker Hub의 official PHP Docker images 중 하나를 사용하여 Bitbucket Pipelines와 함께 PHP를 쉽게 사용할 수 있습니다.
예를 들어 다음과 같이 bitbucket-pipelines.yml 파일의 시작 부분에 지정하여 PHP 7.1.1을 사용할 수 있습니다 .bitbucket-pipelines.yml
image: php:7.1.1
pipelines:
default:
- step:
script:
- php -v
다른 버전의 PHP를 사용하려면 Docker 이미지에 대한 태그를 변경하기만 하면 됩니다. 예를 들어 다음은 PHP 5.6.30으로 컨테이너를 시작하는 방법입니다.
image: php:5.6.30
지원되는 모든 PHP 버전 및 해당 이미지 태그 목록은 https://hub.docker.com/_/php/ 에서 찾을 수 있습니다.
online validator로 bitbucket-pipelines.yml 파일의 유효성을 확인할 수 있습니다.
종속성 설치
Composer로 종속성 관리
빌드 스크립트의 일부로 Composer를 설치하고 사용할 수 있습니다.
예를 들어 다음을 bitbucket-pipelines.yml 파일에 복사하여 붙여 넣으면 monolog
를 종속성으로 지정합니다 .
bitbucket-pipelines.yml
image: php:7.1.1
pipelines:
default:
- step:
script:
- apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- composer require monolog/monolog
- composer install
Pear로 종속성 관리
Pear는 PHP Docker 이미지와 함께 번들로 제공되며, 빌드 스크립트에서 직접 사용하여 종속성을 설치할 수 있습니다.
bitbucket-pipelines.yml
PHP extensions 설치 및 활성화
PHP Docker images에는 extensions을 쉽게 설치하고 구성하게 하는 3개의 헬퍼 스크립트 명령이 함께 제공됩니다.
docker-php-ext-configure
: 이 명령을 사용하면 extensions에 대한 사용자 지정 인수를 제공 할 수 있습니다.docker-php-ext-install
: 이 명령을 사용하여 컨테이너에 새 extensions을 설치합니다.docker-php-ext-enable
: 이 명령은 PHP extensions을 활성화하는데 사용할 수 있습니다.
예를 들어 빌드 프로세스의 일부로 gd
extensions을 설치하려면 다음 bitbucket-pipelines.yml을 사용하면 됩니다.
bitbucket-pipelines.yml
PECL 및 docker-php-ext-enable
헬퍼 스크립트를 사용하여 extensions을 설치할 수도 있습니다.
bitbucket-pipelines.yml
Testing
PHPUnit으로 테스트
Composer를 사용하여 PHPUnit을 설치하고 테스트를 실행할 수 있습니다. 저장소에 PHPUnit 종속성을 명시하는 composer.json 파일이있는 경우 phpunit
명령을 호출하기 전에 composer install
을 실행하기만 하면 됩니다.
bitbucket-pipelines.yml
composer.json 파일없이 PHPUnit을 설치할 수도 있습니다 .
bitbucket-pipelines.yml
online validator로 bitbucket-pipelines.yml 파일의 유효성을 확인할 수 있습니다.