Модульные тесты работают локально, но не работают на Jenkins

Уже несколько часов бьюсь головой. Я только начал работать с Docker и собирал системы. У меня есть кодовая база PHP Codeception (модульное тестирование) в качестве примера репозитория. Локально я могу успешно выполнить тест, но когда я регистрирую свой код и он поступает в CI (Jenkins), клиентская программа может быть вызвана, но говорит, что тесты не найдены.

*нота Я знаю, что мои определения сборки могут использовать какую-то работу, моя цель — просто получить работающую сборку.

Dockerfile

FROM codeception/codeception

Makefile

APP_NAME=codeception
ROOT_DIR=${PWD}
WORK_DIR=app

docker_build:
docker build -t $(APP_NAME) .

run_test:
docker run --rm --name ception -w /$(WORK_DIR) -v $(ROOT_DIR):/$(WORK_DIR) $(APP_NAME) run acceptance

Просто для примера, это то, как он печатает в системе сборки

docker run --rm --name ception -w /app -v /var/jenkins_home/workspace/codeception:/app codeception run

Построить триггеры

make docker_build
make run_test

Локальный выход

OK (1 test, 0 assertions)

Выход Дженкинса

* заметка не подвела, но ..

no tests executed!

Установка Дженкинса

Host — это машинная капля Docker в цифровом океане, и я запустил контейнер Jenkins с объемным носком Docker, чтобы я мог вызывать Docker при триггерах сборки


ДРУГОЙ ВОПРОС

Учитывая вышеизложенные предварительные условия с командой:

*Обратите внимание pwd

docker run --rm --name ception -w /app -v /var/jenkins_home/workspace/codeception:/app codeception run; pwd

Выход Дженкинса:

/var/jenkins_home/workspace/codeception

Я ожидал, что это выведет /app потому что мое понимание это вызывает pwd изнутри док-контейнера, так что это должно было превзойти /app каталог. Я сейчас в замешательстве

Журналы:

Started by GitHub push by edsk3o
Building in workspace /var/jenkins_home/workspace/codeception
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://github.com/edsk3o/codeception.git # timeout=10
Fetching upstream changes from https://github.com/edsk3o/codeception.git
> git --version # timeout=10
using GIT_ASKPASS to set credentials
> git fetch --tags --progress https://github.com/edsk3o/codeception.git +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 1a7dd08ef1ed9e8e7b3f236c50690b65c65f37e8 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 1a7dd08ef1ed9e8e7b3f236c50690b65c65f37e8
Commit message: "laksjd"> git rev-list --no-walk 528640c7be393aaa06f94edc80f12234a759efd6 # timeout=10
[codeception] $ /bin/sh -xe /tmp/jenkins9213645655529951332.sh
+ make docker_build
docker build -t codeception .
Sending build context to Docker daemon  3.408MB

Step 1/1 : FROM codeception/codeception
---> 1681da57f253
Successfully built 1681da57f253
Successfully tagged codeception:latest
+ make run_test
docker run --rm --name ception -w /app -v /var/jenkins_home/workspace/codeception:/app codeception run acceptance; pwd
Codeception PHP Testing Framework v2.3.8
Powered by PHPUnit 6.5.6 by Sebastian Bergmann and contributors.

[1mAcceptance Tests (0) [22m---------------------------------------
------------------------------------------------------------Time: 89 ms, Memory: 10.00MB

[30;43mNo tests executed![0m
/var/jenkins_home/workspace/codeception
Finished: SUCCESS

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]