Git推成功甚至Travis失败
我已将Travis CI tool
集成到我的Django
项目中。Git推成功甚至Travis失败
问题是我的push
来源工作,即使特拉维斯测试失败。
这里是我的提交日志:
* 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
正如你可以在这里看到,2c8f6ee Install Travis in slack
和c5c9e57 Update requirements(dev) : selenium
失败在Travis
,但它已经在github
合并。为什么会发生?
当然 $ git push
作品,
其是否Travis
集成到您的项目或没有不依赖。
通知书的,Travis
给你的反馈,现在它是你的决定:
1.合并,这会更改主分支
2.如果你的项目是一个叉
或
3创建一个拉请求。修复你的代码,测试失败,其他错误,然后回到1.或2.
我看到,你正在使用一个很好的做法,先将你的更改推送到自定义分支(而不是主分支)。在这种情况下,破坏的测试不会损害主项目。
但是,如果“Travis”检测到问题,我想要做的是防止分支推到原点(在这种情况下,防止'feature/init'分支合并到origin/featre/init'中)... .. 可能吗? – user3595632
如果'功能/初始化'意味着你的本地PC上的分支和'origin/feature/init'分支在你的github帐户上。是不可能的。 'Travis'从你的github账户中检索信息,我猜你是'origin'(github.com/rightx2/proj)?而不是来自本地PC。 本地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
你可以*地忽略Travis CI提供的建议,只要合并提交,尽管测试失败。如果这不能回答你的问题,请更新你的问题,使其更具体。 – joepd
您是否试图实现自动发布周期?如果travis成功,你的功能分支被合并到发布分支中? – aisbaa