2016-08-12 4 views
1

Я включил Travis CI tool в свой проект Django.Git push удалось даже Трэвис не удалось

Проблема в том, что мой push для происхождения работает даже при проверке Travis.

Вот мой фиксации журнала:

* c5c9e57 (HEAD -> feature/init, origin/feature/init) Update requirements(dev) : selenium 
* 2c8f6ee Install Travis in slack 
* 75c8ccb Init travis.yml 
* 54fa188 Create Makefile : migrate 
* d211af7 Add chacha_dabnag in INSTALLED_APPS 
* 3e5601d Install debug_toolbar and django_extension 
* d2a8780 Scaffold settings 
* 2d63194 Update .gitignore : database files 
* 2bfc7c5 Init project : chacha_dabang 
* 4466f58 Init : requirements 

Мой список Отрасль:

develop      e3a8499 [origin/develop] Initial commit 
* feature/init    c5c9e57 Update requirements(dev) : selenium 
    master      e3a8499 [origin/master] Initial commit 
    remotes/origin/HEAD   -> origin/develop 
    remotes/origin/develop  e3a8499 Initial commit 
    remotes/origin/feature/init c5c9e57 Update requirements(dev) : selenium 
    remotes/origin/master  e3a8499 Initial commit 

Мой .travis.yml файл:

language: python 
python: 
    - "3.4" 
    - "3.5" 
# command to install dependencies 
install: 
    - pip install -r requirements/development.txt 

Travis наращивание истории окно: enter image description here

Github фиксации журнала: enter image description here

Как вы можете видеть здесь, 2c8f6ee Install Travis in slack и c5c9e57 Update requirements(dev) : selenium потерпел неудачу в Travis, но это уже слились в github. Почему это происходит?

+0

Вы можете игнорировать совет, который предлагает Travis CI, и просто слить коммит, несмотря на те тесты, которые терпят неудачу. Если это не ответит на ваш вопрос, пожалуйста, обновите свой вопрос, чтобы уточнить его. – joepd

+0

Вы пытаетесь внедрить цикл автоматического выпуска? Где, если travis преуспеет, ваша ветка функций объединяется в ветвь релиза? – aisbaa

ответ

0

Конечно $ git push работы,
и его не зависит, если Travis интегрируется в ваш проект или нет.

Обратите внимание, что Travis дает обратную связь, и теперь это ваше решение:
1. Слияние это изменения в основной ветке
2. создать запрос тянуть, если ваш проект вилка
или
3. исправить ваш код, провалить тесты, другие ошибки, а затем вернуться к 1. или 2.

Я вижу, вы используете хорошую практику, чтобы сначала вносить изменения в пользовательские ветви (а не ветвь мастера). В этом случае сломанные тесты не навредит основному проекту.

+0

Но, что я хочу сделать, это не допустить перехода ветви в исходное состояние (в этом случае предотвратить слияние ветви 'feature/init' в' origin/featre/init'), если проблемы обнаружены 'Travis' ... .. Является ли это возможным? – user3595632

+0

Если 'feature/init' означает ветвь на вашем локальном ПК, а' origin/feature/init' - это ветвь на вашей учетной записи github. Это невозможно. 'Travis' извлекает информацию из вашей учетной записи github, которая, как я предполагаю, является вашим« происхождением »(github.com/rightx2/proj)? не с локального ПК. 'local-PC/proj-> push-> github/rightx2/proj-> send-to-travis-> travis/proj-feedback-back-to-github-> красный или зеленый значок на github'. Другим решением может быть создание новой учетной записи github только для проверки успехов «Travis» или (не рекомендуется - зверски) 'git reset --hard last_good_commit' и' git push -force origin/branch'. – hbadger

Смежные вопросы