{"id":22,"date":"2014-02-23T05:34:55","date_gmt":"2014-02-22T21:34:55","guid":{"rendered":"http:\/\/vinta.ws\/code\/?p=22"},"modified":"2026-02-18T01:20:37","modified_gmt":"2026-02-17T17:20:37","slug":"travis-ci-for-python-travis-yml-example","status":"publish","type":"post","link":"https:\/\/vinta.ws\/code\/travis-ci-for-python-travis-yml-example.html","title":{"rendered":"Travis-CI for Python: a .travis.yml example"},"content":{"rendered":"<h2>Configuration<\/h2>\n<p>in .travis.yml<\/p>\n<pre class=\"line-numbers\"><code class=\"language-yaml\">language: python\n\n# \u591a\u500b env \u8981\u5beb\u5728\u540c\u4e00\u884c\nenv:\n  - DPS_ENV=test OTHER_ENV=whatever\n  - DPS_ENV=development OTHER_ENV=whatever\n\npython:\n  - \"2.7\"\n  - \"3.3\"\n\nbefore_install:\n  - sudo apt-get update -qq\n  - sudo apt-get install -qq libxml2-dev libxslt1-dev\n\ninstall:\n  - pip install -r requirements_test.txt --use-mirrors\n\nscript:\n  - coverage run --source=haul setup.py test\n\nnotifications:\n  email:\n    - vinta.chen@gmail.com\n\nafter_success:\n  - coveralls<\/code><\/pre>\n<p>\u8981\u6ce8\u610f\u7684\u662f\u591a\u500b environment variables \u8981\u5beb\u5728\u540c\u4e00\u884c<br \/>\n\u5426\u5247\u6703\u88ab\u7576\u6210\u591a\u500b\u74b0\u5883<br \/>\n\u6bcf\u500b\u74b0\u5883\u90fd\u6703\u8dd1\u4e00\u6b21 CI<\/p>\n<p>ref:<br \/>\n<a href=\"http:\/\/docs.travis-ci.com\/user\/ci-environment\/\">http:\/\/docs.travis-ci.com\/user\/ci-environment\/<\/a><br \/>\n<a href=\"http:\/\/docs.travis-ci.com\/user\/build-configuration\/\">http:\/\/docs.travis-ci.com\/user\/build-configuration\/<\/a><br \/>\n<a href=\"http:\/\/docs.travis-ci.com\/user\/languages\/python\/\">http:\/\/docs.travis-ci.com\/user\/languages\/python\/<\/a><br \/>\n<a href=\"http:\/\/docs.travis-ci.com\/user\/database-setup\/\">http:\/\/docs.travis-ci.com\/user\/database-setup\/<\/a><\/p>\n<p>in .coveralls.yml<\/p>\n<pre class=\"line-numbers\"><code class=\"language-yaml\">\u5982\u679c\u662f public repo \u7684\u8a71\uff0c\u4e0d\u9700\u8981\u7279\u5225\u8a2d\u5b9a\u4ec0\u9ebc<\/code><\/pre>\n<p>ref:<br \/>\n<a href=\"https:\/\/coveralls.io\/docs\/python\">https:\/\/coveralls.io\/docs\/python<\/a><br \/>\n<a href=\"https:\/\/github.com\/coagulant\/coveralls-python\">https:\/\/github.com\/coagulant\/coveralls-python<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Travis-CI for Python<\/p>\n","protected":false},"author":1,"featured_media":766,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,116],"tags":[128,2],"class_list":["post-22","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-about-python","category-about-web-development","tag-ci","tag-python"],"_links":{"self":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/comments?post=22"}],"version-history":[{"count":0,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts\/22\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/media\/766"}],"wp:attachment":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/media?parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/categories?post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/tags?post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}