Top CI CD (2023) DevOps Interview Questions
In this post we will look at CI CD DevOps Interview questions.
Examples are provided with explanations.
Q: What is CI-CD?
During development phase there are frequent code changes which need to be committed to the main branch. Care should be taken that these changes do not break anything and also not impact other developers working on
the same branch simultaneously. Continuous integration and Continuous Delivery help us achieve these goals.
What Is Continuous Integration?
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. These changes are verified by automated test cases and a build sequence. Automated tools are used to assert the new code's correctness before integration.
What is Continuous Delivery?
Continuous Delivery is the ability to get changes of all types including new features, configuration changes, bug fixes and experiments into production.
Changes may include configuration changes, new features, error fixes etc. They are delivered to the user in a safe, quick and sustainable manner.The goal of Continuous Delivery is to make deployment predictable and scheduled in a routine manger. It is achieved by ensuring that the code always remains in a state where it can be deployed whenever demanded, even when an entire team of developers is constantly making changes to it. Unlike continuous integration, testing and integrating phases are eliminated and the traditional process of code freeze is followed.
Q: What are benefits of CI-CD?
Early Bug Detection: If there is an error in the local version of the code that has not been checked previously, a build failure occurs at an early stage. Before proceeding further, the developer will be required to fix the error. This also benefits the QA team since they will mostly work on builds that are stable and error-free.
Reduces Bug Count: In any application development lifecycle, bugs are likely to occur. However, with Continuous Integration and Continuous Delivery being used, the number of bugs is reduced a lot. Although it depends on the effectiveness of the automated testing scripts. Overall, the risk is reduced a lot since bugs are now easier to detect and fix early.
Automating the Process: The Manual effort is reduced a lot since CI automates build, sanity and a few other tests. This makes sure that the path is clear for a successful continuous delivery process.
The process becomes Transparent: A great level of transparency is brought in the overall quality analysis and development process. The team gets a clear idea when a test fails, what is causing the failure and whether there is any significant defect. This enables the team to make a real-time decision on where and how the efficiency can be improved.
Cost-effective Process: Since bug count is low, manual testing time is greatly reduced and the clarity increases on the overall system, it optimizes the budget of the project.
Q: what is continuous testing?
Continuous Testing is the process of executing automated tests as part of the software delivery pipeline in order to obtain feedback on the business risks associated with a software release candidate as rapidly as possible. It evolves and extends test automation to address the increased complexity and pace of modern application development and delivery.