2016-08-15 2 views
0

PHP 응용 프로그램 용 Bluemix에서 빌드 및 배포 파이프 라인을 설치하려고합니다. 테스트를 위해 PHPUnit을 사용하고 있지만 PHPUnit이 설치되어 있지 않기 때문에 테스트 스테이지를 호출 할 수 없습니다. 빌드 및 배포 단계는 완벽하게 작동합니다. 나는 그저 테스트 단계를 추가하려고합니다. 문제는 PHP가 테스트 단계에도 설치되지 않았다는 것입니다. 빠른 PHP -v는 오류를 찾을 수없는 명령을 내 보냅니다. 이 테스트 단계를 작동 시키려면 php, apache, composer 및 phpunit을 설치해야합니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?Bluemix 사용 방법 PHP 단위 테스트로 테스트 작업 빌드 및 배포

답변

2

phpunit을 작동 시키려면 apache, php7 및 composer를 설치해야합니다. 다음은 테스트 단계에서 실행 한 명령입니다. 설치를 디버그하는 데 사용했던 일부 echo 및 ls 문이 있습니다. 내 테스트는 test/exampleTest.php와 같은 내 디렉토리의 루트에있는 tests 폴더 아래에 있으며 test/Test.xml이라는 xml 출력 파일을 만든 다음 "Test Result File Pattern"을 묻는 상자에 해당 파일을 제공합니다. Bluemix는 해당 파일을 읽어 테스트가 성공했는지 실패했는지 알 수 있습니다.

#!/bin/bash 
# invoke tests here 
echo " adding repo" 
sudo add-apt-repository ppa:ondrej/php 
echo " updating apt-get" 
sudo apt-get -y update 
echo " installing apache2" 
sudo apt-get -y install apache2 
echo " installing php7.0" 
sudo apt-get -y --force-yes install php7.0 libapache2-mod-php7.0 php7.0-xml php7.0-cli php7.0-common php7.0-fpm php7.0-curl php7.0-gd php7.0-bz2 
echo " PHP TESTING" 
php -v 
echo " PHP TESTING 2" 
php -r 'echo "\n\nYour PHP installation is working fine.\n\n\n";' 
echo " downloading composer" 
curl -sS https://getcomposer.org/installer | php 
echo " installing composer" 
php composer.phar install 
echo " ls" 
ls 
echo " ls ../" 
ls ../ 
echo " ls vendor" 
ls vendor 
echo " running tests" 
vendor/bin/phpunit --log-junit tests/Test.xml --bootstrap vendor/autoload.php tests 
1

이전에 Bluemix DevOps 팀과 논의한 바를 바탕으로 테스트 단계가 작동하려면 해당 종속성을 각각 설치해야합니다.

+0

개발 팀과 의견을 공유했습니다. 질문이 해결되면 알려주십시오. – joe

+0

배포 된 환경에서 테스트를 실행할 수 있습니까? 그래서 내 응용 프로그램을 배포 할 수 있습니다 test.example.com 그것에 PHP와 아파치를 설치하지 않고도 몇 가지 테스트를 실행 ... 그것은 배포 빌드 팩에 의해 설치 될 것이고, 다음 프로덕션 사이트에 배포 작동합니다 production.example.com? –

+0

테스트 용 프로덕션 응용 프로그램과 프로덕션 응용 프로그램을 구성 할 수 있습니다. 따라서 하나의 프로젝트가 테스트에 사용될 수 있으며, 작동한다면 다른 프로젝트가 생산을 위해 설정됩니다. IBM Bluemix DevOps Services 팀에 대한 특정 피드백이나 질문이 있으시면 [email protected]으로 연락하십시오. – joe