Differences
This shows you the differences between two versions of the page.
Previous revision | |||
— | ci:ci [2023/05/01 18:16] (current) – [Links] Henrik Yllemo | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ~~NOCACHE~~ | ||
+ | ====== Continuous integration ====== | ||
+ | Continuous integration is a software development practice that aims to improve the quality and speed of software delivery. It involves integrating code changes from multiple developers into a shared repository frequently, usually several times a day. By doing so, it enables early detection and resolution of bugs, conflicts and errors, as well as faster feedback and validation of new features. Continuous integration also facilitates collaboration and communication among developers, testers and other stakeholders. It is often combined with other practices such as continuous delivery, continuous testing and continuous deployment to form a continuous software pipeline that delivers value to customers faster and more reliably. | ||
+ | * [[kb: | ||
+ | * [[devops: | ||
+ | |||
+ | Continuous integration (CI) is a software development practice that involves integrating code changes from multiple developers into a shared repository frequently, usually several times a day. | ||
+ | |||
+ | CI has many benefits for software quality, efficiency and collaboration, | ||
+ | - **Detecting and fixing errors early:** CI allows developers to catch bugs and errors before they become too costly or complex to fix. By running automated tests and code analysis tools on every code change, CI ensures that the code is always in a working state and meets the quality standards. | ||
+ | - **Reducing integration conflicts: | ||
+ | - **Improving feedback and communication: | ||
+ | - **Accelerating delivery and deployment: | ||
+ | |||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | CI is an essential component of both ALM and DevOps, as it enables faster feedback loops, higher quality standards, and more frequent releases. CI helps to align the goals and expectations of different teams and stakeholders involved in the software project. By integrating code changes regularly and automatically into a shared repository, CI ensures that everyone is working with the latest version of the codebase. This reduces conflicts, errors, and delays in delivering software products that meet customer needs. | ||
+ | |||
+ | See also <label type=" | ||
+ | |||
+ | < | ||
+ | <panel type='' | ||
+ | Continuous integration is a software development practice where developers frequently merge their code changes into a shared repository, which is then automatically built, tested, and integrated into the software. | ||
+ | </ | ||
+ | Continuous integration is important because it helps to identify and address integration issues early in the development cycle, reducing the risk of defects and errors in the final software product. | ||
+ | </ | ||
+ | Benefits of continuous integration include faster development cycles, better collaboration among team members, improved software quality, and reduced risk of integration problems. | ||
+ | </ | ||
+ | Some common tools used in continuous integration include Jenkins, Travis CI, CircleCI, GitLab CI/CD, and TeamCity. | ||
+ | </ | ||
+ | Continuous delivery is an extension of continuous integration, | ||
+ | </ | ||
+ | Continuous integration is focused on automating the build, test, and integration process, while continuous delivery is focused on automating the entire software delivery process, from build to deployment. | ||
+ | </ | ||
+ | Benefits of continuous delivery include faster and more reliable software releases, reduced risk of deployment failures, and increased agility in responding to changing business needs. | ||
+ | </ | ||
+ | Some common tools used in continuous delivery include Docker, Kubernetes, Ansible, Puppet, and Chef. | ||
+ | </ | ||
+ | A CI/CD pipeline is a series of automated steps that take code changes from development through to deployment, including building, testing, and deployment. | ||
+ | </ | ||
+ | Best practices for implementing continuous integration and delivery include ensuring a stable and maintainable codebase, using version control, automating the build and test process, monitoring performance and metrics, and fostering a culture of collaboration and continuous improvement. | ||
+ | </ | ||
+ | |||
+ | |||
+ | {{wp> | ||
+ | |||
+ | < | ||
+ | {{: | ||
+ | {{: | ||
+ | </ | ||
+ | |||
+ | <callout type="" | ||
+ | * https:// | ||
+ | |||
+ | Automatically build and test your code as you push it upstream, preventing bugs from being deployed to production. A complementary practice to CI is that before submitting work, each programmer must do a complete build and run (and pass) all unit tests. Integration tests are usually run automatically on a CI server when it detects a new commit. | ||
+ | </ | ||
+ | |||
+ | https:// | ||
+ | ===== Disciplines & Methodologies ===== | ||
+ | {{topic> | ||
+ | ===== Tools & Technologies ===== | ||
+ | {{topic> | ||
+ | ===== Links ===== | ||
+ | {{topic> | ||
+ | {{topic> | ||
+ | |||
+ | |||
+ | {{tag> | ||
+ | |||
+ | === ## ToDo ## === | ||
+ | * FIXME - [[: | ||
+ | * CircleCI | ||
+ | * Codeship | ||
+ | * Concourse CI | ||
+ | * Continua CI | ||
+ | * Drone.io | ||
+ | * GitLab CI | ||
+ | * Gump | ||
+ | * Harness.io | ||
+ | * Hudson | ||
+ | * Hydra | ||
+ | * Jenkins X | ||
+ | * Nevercode | ||
+ | * ProductionMap | ||
+ | * Semaphore | ||
+ | * Shippable | ||
+ | * Snap CI | ||
+ | * Solano CI | ||
+ | * TeamCity | ||
+ | |||
+ | |||
+ | * Continuous Integration Process | ||
+ | * Continuous Integration Tools | ||
+ | * Continuous Integration Best Practices | ||
+ | * Continuous Integration Benefits | ||
+ | * Continuous Integration Challenges | ||
+ | * Continuous Integration Automation | ||
+ | * Continuous Integration Testing | ||
+ | * Continuous Integration Configuration Management | ||
+ | * Continuous Integration Deployment | ||
+ | * Continuous Integration Environment Management | ||
+ | * Continuous Integration Metrics | ||
+ | * Continuous Integration Monitoring | ||
+ | * Continuous Integration Server | ||
+ | * Continuous Integration Pipeline | ||
+ | * Continuous Integration Workflow | ||
+ | * Continuous Integration Code Quality | ||
+ | * Continuous Integration Code Coverage | ||
+ | * Continuous Integration Code Review | ||
+ | * Continuous Integration Collaboration | ||
+ | * Continuous Integration Scalability | ||
+ | * Continuous Integration Flexibility | ||
+ | |||
+ | {{tag> |