Continous Integration & Continous Delivery

From OasisSoftTech.com - Knowledge Base/Java/Springframework/Microservices/Cloud-AWS/AI
Revision as of 07:02, 25 June 2018 by Rasimsen (talk | contribs) (Created page with "==Continous Integration== In software engineering, continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Continous Integration

In software engineering, continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day.

Continious Delivery

Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time.[1] It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.


Continious Integration Tools

Jenkins

jenkins-logo-text-300x96.png

Jenkins is an open-source CI tool written in Java. It originated as the fork of Hudson when the Oracle bought the Sun Microsystems. Jenkins is a cross-platform CI tool and it offers configuration both through GUI interface and console commands. What makes Jenkins very flexible is the feature extension through plugins. Jenkins plugin list is very comprehensive and you can easily add your own. Besides extensibility, Jenkins prides itself on distributing builds and test loads on multiple machines. It is published under MIT license so it is free to use and distribute.

Cloudbees also offers hosted solution in the form of the Jenkins in the Cloud.

Verdict: One of the best solutions out there, both powerful and flexible at the same time. The learning curve could be a bit steep, but if you need flexibility it very well pays off to learn how to use it.

Official website: Jenkins - https://jenkins.io/ Availability: Free Platform: Cross-platform



TeamCity

Travis CI

Go CD

Bamboo

GitLab CI

CircleCI

Codeship

Codefresh