Я использую Docker для запуска своего PHP-приложения. Теперь я хочу, чтобы Travis CI тестировал мое приложение. Но все мои сборки не работают, потому что контейнеры не могут открывать файлы в каталоге/temp моего приложения.Права на докеры TravisCI
У меня есть контейнер данных:
FROM ubuntu
COPY ./ /project
VOLUME /project
CMD ["true"]
Я использую свой собственный контейнер PHP FPM на основе PHP: 7,0-FPM - только с установленными некоторыми расширениями. То же самое для nginx.
Мой докер Compose выглядит следующим образом
version: '2'
services:
data:
build: ./
volumes:
- .:/project
command: "true"
nginx:
image: myNginx
ports:
- "80:80"
- "443:443"
volumes_from:
- data
links:
- php
php:
image: myPhp
ports:
- "9000:9000"
volumes_from:
- data
Вы можете увидеть, что я использую общий объем с хостом. Все работает на моей локальной машине (окнах), но не на travis.
И, наконец мой travis.yml
sudo: required
language: php
services:
- docker
before_script:
- docker-compose up --build -d
# Run firefox
- docker run -d -p 4444:4444 -p 5900:5900 --name firefox --link my_nginx:nginx --net myapp_default selenium/standalone-firefox-debug:2.53.0
script:
# Run Codeception
- docker run --rm --volumes-from my_data --link firefox --net myapp_default --name codeception codeception/codeception run accept
Все тесты codeception терпит неудачу, потому что приложение не может записывать/LOG и не может открывать файлы в/темп. Это интересно, потому что он пишет некоторые файлы, но позже он не может его открыть.
I Ls -la с результатом:
# ./temp
drwxrwxr-x 3 travis travis 4096 Nov 4 15:55 .
drwxrwxr-x 14 travis travis 4096 Nov 4 15:56 ..
drwxr-xr-x 4 root root 4096 Nov 4 15:55 cache
-rw-rw-r-- 1 travis travis 14 Nov 4 15:49 .gitignore
# ./temp/cache
drwxr-xr-x 4 root root 4096 Nov 4 15:55 .
drwxrwxr-x 3 travis travis 4096 Nov 4 15:55 ..
drwxr-xr-x 2 root root 4096 Nov 4 15:55 Nette.Configurator
drwxr-xr-x 2 root root 4096 Nov 4 15:55 _Nette.RobotLoader
# ./temp/cache/Nette.Configurator
drwxr-xr-x 2 root root 4096 Nov 4 15:55 .
drwxr-xr-x 4 root root 4096 Nov 4 15:55 ..
-rw-r--r-- 1 root root 116093 Nov 4 15:55 Container_70d15d6361.php
-rw-r--r-- 1 root root 0 Nov 4 15:55 Container_70d15d6361.php.lock
-rw-r--r-- 1 root root 52913 Nov 4 15:55 Container_70d15d6361.php.meta
Я ма уверен, что у меня есть плохие разрешения, установленные в Travis или в контейнере, но я не знаю, как это исправить.