(Django)如何在Travis CI中运行测试套件

时间:2019-04-12 07:02:23

标签: python django docker docker-compose travis-ci

我在使用Travis CI在dockerize Django应用程序中运行测试套件时遇到问题。我在本地运行测试套件没有任何问题,即使用后:

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应用程序的本地计算机上,一切正常(测试套件)正常运行。在Travis中,构建创建成功,但测试套件未运行。这是Travis输出的最后一行:

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

这是我的travis网址: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上创建构建后,我应该看到测试套件的输出:例如,没有测试,是否成功

0 个答案:

没有答案