2016-08-15 7 views
0

PHPアプリケーション用のBluemixにビルドおよびデプロイメントパイプラインを設定しようとしています。私はテスト用にPHPUnitを使用していますが、PHPUnitがインストールされていないため、テストステージを呼び出すことができません。ビルドとデプロイのステージは完璧に動作します。私はそれらの間にテストステージを追加しようとしています。問題は、PHPがテストステージにもインストールされていないことです。私は速いphp -vコマンドでエラーが見つかりません。このテストステージを動作させるには、php、apache、composer、およびphpunitをインストールする必要がありますか?これを行うより良い方法はありますか?Bluemixの使用方法PHPユニットテストでのテストジョブの構築とデプロイ

答えて

2

phpunitを動作させるために、apache、php7、およびcomposerをインストールしました。テストステージで実行したコマンドは次のとおりです。インストールをデバッグするために使用していたエコーとlsステートメントがあります。私のテストは、test/exampleTest.phpのような私のディレクトリのルートにあるtestsフォルダの下にあり、phpunitはtests/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、apacheなどをインストールせずにいくつかのテストを実行できるようにするには...デプロイビルドパックでインストールされ、実稼働サイトにデプロイされているのでproduction.example.com? –

+0

おそらく、テスト用のステージングアプリとプロダクションアプリを設定することができます。したがって、1つのプロジェクトをテストに使用することができ、それが機能する場合、別のプロジェクトをプロダクション用にセットアップすることができます。 IBM Bluemix DevOps Servicesチームに特定のご意見やご質問がある場合は、[email protected]までご連絡ください。 – joe

関連する問題