Мне трудно настроить конвейер BitBucket для развертывания приложения CakePHP на хост-сервере.
Читая некоторые уроки, которые я закончил с этим конвейером:
image: edbizarro/bitbucket-pipelines-php7
pipelines:
branches:
master:
- step:
caches:
- composer
script:
- composer install --no-interaction --no-progress --prefer-dist
- composer test
- composer deploy-to-production
но это всегда терпит неудачу:
- Настройка сборки -> ОК
- composer install -> OK
- композитный тест -> FAIL
+ композитный тест
phpunit --colors = всегда
Устаревшая ошибка: Plugin :: load () устарела. Вместо этого используйте Application :: addPlugin (). Этот метод будет удален в 4.0.0. - /opt/atlassian/pipelines/agent/build/config/bootstrap.php, строка: 179
Вы можете отключить предупреждения об устаревании, установив Error.errorLevel
в E_ALL & ~E_USER_DEPRECATED
в вашем config / app.php. в [/opt/atlassian/pipelines/agent/build/vendor/cakephp/cakephp/src/Core/functions.php, строка 311]
PHPUnit 6.5.14 от Себастьяна Бергманна и авторов.
Исключение: невозможно вставить приборы для тестового примера "App \ Test \ TestCase \ Controller \ CustomersControllerTest". SQLSTATE [HY000] [2002] Нет такого файла или каталога в [/opt/atlassian/pipelines/agent/build/vendor/cakephp/cakephp/src/TestSuite/Fixture/FixtureManager.php, строка 380]
Скрипт phpunit --colors = всегда обрабатывает тестовое событие, возвращаемое с кодом ошибки 244
Я не могу ls
виртуальные удаленные папки, но я могу мои ... поэтому я проверил App\Test\TestCase\Controller\CustomersControllerTest
:
<?php
namespace App\Test\TestCase\Controller;
use App\Controller\CustomersController;
use Cake\TestSuite\IntegrationTestTrait;
use Cake\TestSuite\TestCase;
class CustomersControllerTest extends TestCase
{
use IntegrationTestTrait;
public $fixtures = [
'app.Customers',
'app.Orders'
];
public function testIndex()
{
$this->markTestIncomplete('Not implemented yet.');
}
public function testView()
{
$this->markTestIncomplete('Not implemented yet.');
}
public function testAdd()
{
$this->markTestIncomplete('Not implemented yet.');
}
public function testEdit()
{
$this->markTestIncomplete('Not implemented yet.');
}
public function testDelete()
{
$this->markTestIncomplete('Not implemented yet.');
}
}
Поскольку я не использую тесты, могу ли я (безопасно) избежать шага composer test
?
Кстати, на хост-сервере версия PHP 5.6, а в образе конвейера указана версия 7. Может ли это привести к проблеме?