У меня есть сценарий использования, в котором я пытаюсь построить основанный на django api rest и затем использовать непрерывную интеграцию с использованием travis CI, когда изменения передаются в github. Я также использую docker для сборки и docker-compose для масштабирования моих сервисов. Проблема в том, что я хочу запустить pytest и flake8, когда я помещаю свои изменения в githubТеперь я не добавил никаких тестов и, следовательно, команда pytest дает статус выхода 5.
Чтобы обойти это, я попытался создать скрипт для этого:
#!/bin/bash
pytest;
err=$? ;
if (( $err != 5 )) ;
then
exit $err;
fi
flake8 ;
Но яне может получить docker-compose для запуска этого. Когда я запускаю скрипт с помощью команды:
docker-compose run app sh -c "run_script.sh"
Это выдает следующее сообщение об ошибке: sh: run_script.sh: not found
Ниже приведен мой файл docker-compose yml:
version: "3"
services:
app:
build:
context: .
ports:
- "8000:8000"
volumes:
- ./app:/app
command: >
sh -c "python manage.py runserver 0.0.0.0:8000"
Ниже приведен dockerfile:
FROM python:3.7-alpine
MAINTAINER Subhayan Bhattacharya
ENV PYTHONUNBUFFERED 1
COPY Pipfile* /tmp/
RUN cd /tmp && pip install pipenv && pipenv lock --requirements > requirements.txt
RUN pip install -r /tmp/requirements.txt
RUN mkdir /app
WORKDIR /app
COPY ./app /app
RUN adduser -D user
USER user
Это должно быть простой проблемой, но я не могу понять, как обойти это.
Может кто-нибудь, пожалуйста, помогите мненайти решение