Continuous integration relationship with Devops

What is Continuous Integration

Continuous integration (Continuous Integration, referred to as CI), is a software development practice, in practice, the middle finger as long as there is a change of code, automatically run the build and test, feedback the results.
Plainly speaking, is binding code repository project, SVN or Git repository, automatically grab the new code, build, and even perform a test, deploy to the server.

Continuous integration benefits:

  • You can quickly expose error.
  • Ensure the quality of the code submitted.
  • Positioning errors easier.
  • Reduce overall integration risk.
  • Promote rapid product iterations.

Continuous Integration features:

  • Unified code base
  • Automated build / test
  • Each person must submit code to the trunk code base every day
  • After submission of the code every time the trigger once built on the continuous integration server
  • Ensure rapid construction
  • Automatic test simulates the production environment
  • Everyone can easily access the latest application executable
  • Automated deployment

What is Devops

DevOps (Development and Operations combination of words) is a set of processes, methods and systems collectively, to facilitate the development (application / software engineering), communication between technical operations and quality assurance (QA) department, collaboration and integration.
Plainly speaking, DevOps requires the development, testing, operation and maintenance of integrated, agile development; DevOps from planning, coding, build, test, release, deployment, and operation, monitoring open up, is the agile development department and department of operation and maintenance the wall between the open, form a closed loop.

Picture 1.png
 

 

DevOps also be done through technical tool chain continuous integration, continuous delivery, user feedback system optimization and integration. Compiled some open source tools and classification, including version control & collaborative development tools, automated build and test tools, continuous integration & delivery tools, deployment tools, maintenance tools, monitoring, warning & analysis tools, and so on:

Version Control & collaborative development: GitHub, GitLab, BitBucket, SubVersion , Coding, Bazaar
automated build and test: Apache Ant, Maven, Selenium, PyUnit, QUnit, JMeter, Gradle, PHPUnit
continuous integration & delivery: Jenkins, Capistrano, BuildBot, Fabric , Tinderbox, Travis CI, flow.ci Continuum , luntBuild, CruiseControl, Integrity, Gump, Go
container platform: Docker, Rocket, Ubuntu (LXC ), third-party vendors such as (AWS / Ali cloud)
configuration management: Chef, Puppet, cFengine , Bash, Rudder, Powershell, RunDeck , Saltstack, Ansible
micro-service platform: OpenShift, Cloud Foundry, Kubernetes, mesosphere
provisioning: Puppet, Docker Swarm, Vagrant, Powershell, OpenStack Heat
log management: Logstash, collectD, StatsD
monitoring, warning & analysis: Nagios, Ganglia, Sensu, zabbix , iCINGA, Graphite, Kibana

 

Picture 2.png
 

Devops can be understood as continuous integration is based on the convergence of a set of best practices for each downstream link agile development process formation.

There is also a continuous integration Pipeline pipeline concept, in short, is a set of workflow framework running on Jenkins, originally run independently connected to a single node or a plurality of tasks, and implement complex processes difficult to accomplish a single task arrangement and visualization.

Guess you like

Origin www.cnblogs.com/angryjj/p/11470456.html