Bad commit? You will know about in 5 minutes Code delivery is easier and faster Don't lose your time waiting for tests before push Automated deployment No need to invent a wheel, you already have a platform Highly extendable with plugins OpenSource and free The biggest community among other CI products
JetBrains TeamCity Sexy interface but less flexible customization Restrictions in free version 100% Free for active/popular OpenSource projects CruiseControl / .rb Is almost not supported by now OpenSource and free Bamboo Integrates with JIRA From $50/mo for 1 agent Travis CI Free for OpenSource No need to setup env GitLab CI Free and OpenSource Integrates with Gitlab HQ
World of Warcraft hero. Рейд. Правильно выбирайте лидера / за кем идти Планирование!
Jenkins CI in Action
Jenkins CI in Actionby Mikhail Pobolovets
Foreword● Senior Ruby developer/Team leadat Altoros Systems● Ruby developer since 2007● Haskell and Erlang enthusiast● https://github.com/styx
What is CI?Continuous Integration is a softwaredevelopment practice where members of a teamintegrate their work frequently, usually eachperson integrates at least daily - leading tomultiple integrations per day. Each integration isverified by an automated build (including test) todetect integration errors as quickly as possible.– Martin Fowler
Who is Jenkins?● Written in Java, but thats not a problem● Platform with minimum functionality● Plugins support– Gerrit, Github, IRC, Jabber, Skype, Vagrant, Rake,LDAP– About 780 plugins● Distributed builds (Master – Slave)
So why you might want Jenkins?● Bad commit? You will know about in 5 minutes● Code delivery is easier and faster● Automation of annoying tasks● No need to invent a wheel, you already have aplatform● The biggest community among other CIproducts
GerritGerrit is a web-based team software codereview tool.
Workflows● With Gerrit trigger – Main workflow for Devs– New patch set / Draft published– Special comment posted– Special phrase in commit message to skip build● By schedule– Integration testing (nightly)● By dependency build– Special case if you have projects with shared codebase
Tweaks● GC tweaks● Parallel Testshttps://github.com/grosser/parallel_tests● Pspechttps://github.com/FUT/pspec● Skip part of the test suite if possible● Rubocop● Simple script to find out basic errors (debugger)● Brakeman