(Джанго) Как запустить набор тестов в Travis CI - PullRequest
1 голос
/ 12 апреля 2019

У меня проблемы с запуском набора тестов в приложении Dockerize Django с использованием Travis CI. Я выполнил тестовый набор локально без каких-либо проблем, т.е. после использования:

docker-compose up --build -d 

docker-compose run django --no-deps python manage.py test polls

Это мой репозиторий github: https://github.com/bgreatfit/Docker_django Все работает (набор тестов) отлично на моей локальной машине, которая содержит Dockerized Django Application. В то время как в Трэвисе создание сборки успешно, но набор тестов не запускается. Это последняя строка вывода на Travis:

docker_django-mysql | Version: '5.6.43'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)

Это мой travis url: https://travis -ci.org / bgreatfit / Docker_django

Это мой файл travis.yaml

sudo: required
services:
    - docker

before_install:
    - docker-compose up   -d
    - docker ps


script:
    - docker-compose run django python manage.py test polls


Это мой docker-compose файл

version: "3.1"



services:

    django:
      build: ./app
      container_name: ${PROJECT_NAME}-django
      command: gunicorn first_project.wsgi:application --bind 0.0.0.0:8000
      volumes:
        - ./app:/app
        - static_volume:/app/static
      expose:
         - 8000
      depends_on:
        - mysql

    mysql:
      image: mysql:5.6
      container_name: ${PROJECT_NAME}-mysql
      volumes:
        - db-data:/var/lib/mysql
      environment:
        - MYSQL_ROOT_PASSWORD=docker_root
        - MYSQL_DATABASE=docker_django_db
        - MYSQL_USER=dbuser
        - MYSQL_PASSWORD=dbpw
      ports:
        - "8306:3306"


    phpmyadmin:
      image: phpmyadmin/phpmyadmin
      container_name: ${PROJECT_NAME}-phpmyadmin
      environment:
          - PMA_ARBITRARY=1
      restart: always
      ports:
             - 8082:80
      volumes:
             - /session

    nginx:
      build: ./nginx
      container_name: ${PROJECT_NAME}-nginx
      volumes:
           - static_volume:/app/static
      ports:
           - 1337:80
      depends_on:
          - django


volumes:
  db-data:
  static_volume:


Мой файл Docker:

FROM python:3.6
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# set work directory
WORKDIR /app

# Install python mysql client
RUN apt-get update \
    && apt-get -y install libmysqlclient-dev \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

# install dependencies
COPY requirements.txt /app/
RUN pip install -r requirements.txt


# copy project

# copy entrypoint.sh
COPY ./entrypoint.sh /usr/src/app/entrypoint.sh

# copy project
COPY. /app/

# run entrypoint.sh
RUN ["chmod","+x","/app/entrypoint.sh"]

Я ожидаю, что после создания сборки на Travis я должен увидеть вывод набора тестов: например, Нет тестов и если он успешен

...