Travis CI: Fun and easy CI for your Plone packages

2,322 views

Published on

Fun and easy CI for your Plone packages with Travis

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,322
On SlideShare
0
From Embeds
0
Number of Embeds
170
Actions
Shares
0
Downloads
21
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • - I'm no way affiliated with Travis CI GmbH, I'm just a happy user. \n
  • \n
  • \n
  • Jenkins is a open-source CI server you can install yourself.\nTravis is similar, but is a hosted service, tied into GitHub.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • It’s in “alpha” stage, raising donations to cover operation costs\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Plone has great package granularity -> good idea.\nBut, -> burden of more docs, more tests, more complex dev build\n-> less approachable\n\nLets start taking more responsibility for this and have all packages tested individually,\nin a minimal Plone environment, not just in one huge Jenkins build\n-> more approachable.\n\nJenkins: huge, integrated builds\nTravis: individual packages, add-ons\n
  • \n
  • \n
  • Travis CI: Fun and easy CI for your Plone packages

    1. 1. Travis CIEasy and fun CI for your Plone packages Nejc Zupan, NiteoWeb Ltd.
    2. 2. Hosted Continuous Integrationfor the Open Source Community
    3. 3. CONTINUOUS INTEGRATIONRun your tests oftenPreferably on every commitIn a clean environment
    4. 4. +
    5. 5. BUILDS
    6. 6. SINGLE BUILD
    7. 7. SINGLE BUILD (CONT.)
    8. 8. Free for any public GitHub repo
    9. 9. Already ran +757k tests for +10k open-source projects
    10. 10. Crowdfunded:+120k USD from +700 people
    11. 11. Supports:C, C++, Clojure, Erlang, Go, Groovy, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala
    12. 12. Preinstalled DBs:MySQL, PostgreSQL, MongoDB,CouchDB, Redis, Riak, RabbitMQ, Memcached, Cassandra, Neo4J, ElasticSearch, Kestrel, SQLite3
    13. 13. GETTING STARTEDSign in to travis-ci.org with GitHub accountEnable repositoryAdd .travis.yml to your repositoryPush it (p-push it real good)
    14. 14. MINIMAL CONFIG
    15. 15. MORE CONTROL
    16. 16. PREINSTALLED SERVICES
    17. 17. HEADLESS TESTING
    18. 18. BRANCHES
    19. 19. BUILD NOTIFICATIONS + many more
    20. 20. BUILD SKIPPING
    21. 21. BROWSER EXTENSIONS
    22. 22. STATUS IMAGES!
    23. 23. STATUS IMAGEShttps://travis-ci.org/[YOUR_GITHUB_USERNAME]/ [YOUR_PROJECT_NAME].png
    24. 24. PULL REQUESTS TESTING!
    25. 25. TRAVIS CI PRO
    26. 26. LIMITATIONS15 minute build runtime limitVery basic reporting (only console output)
    27. 27. TIMEOUTS ...
    28. 28. Use a non-ancientzc.buildout version! (and buy @iElectric a beer!)
    29. 29. NETWORK SPEEDUPS
    30. 30. ASKO’S TRICK
    31. 31. + =AWESOME!!!
    32. 32. MOAR ADVANTAGESNew devs on project with broken buildsAlso for non-plone packages (simple Python libs)Public CI for company owned public packages(niteoweb.click2sell)
    33. 33. Thanks! http://travis-ci.org/ https://github.com/collective/tutorial.todoapp/ https://github.com/datakurre/robotsuite https://github.com/plone/plone.api https://github.com/gotcha/plone.act https://github.com/collective/collective.prettydateNejc Zupan, NiteoWeb Ltd. Some images taken from sxc.hu

    ×