Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Intro to a CI/CD Pipeline | Intro to Intermediate Automation Testing
Introduction to QA Automation Testing
course content

Conteúdo do Curso

Introduction to QA Automation Testing

Introduction to QA Automation Testing

1. Introduction to Automation Testing
2. Using a Test Automation Framework
3. Browser Automation with Selenium
4. Intro to Intermediate Automation Testing

bookIntro to a CI/CD Pipeline

What is CI/CD?

  • CI stands for Continuous Integration: It's a practice where developers frequently integrate their code into a shared repository. However, an important part of CI is to ensure that changes made by one developer don't break the system when combined with the changes made by others. Every time code is integrated, automated tests are run to ensure everything is working;
  • CD stands for Continuous Delivery/Deployment: Once the code is integrated and tested, the next step is to automatically deliver it. In Continuous Delivery, the application is automatically prepared for release to a production environment, but a human can decide when it actually goes live. In Continuous Deployment, the code is automatically deployed to production after passing tests, with no human intervention;

A CI/CD pipeline for a Node.js application typically involves the following steps:

  1. Code Commit: A developer writes code and pushes it to a version control system like GitHub or GitLab;
  2. Automated Testing (CI): As soon as code is committed, the CI system runs automated tests to ensure that the new changes don’t break the application. This is part of the greater Regression Testing;
  3. Build (CI): If the tests pass, the application is built. For Node.js, this could involve tasks like bundling JavaScript files, compiling TypeScript (if used), or preparing assets;
  4. Deployment: The application is automatically deployed to the host. Some popular hosting platforms include Microsoft Azure, AWS, Heroku, etc;

Tools used in CI/CD for Node.JS

  • GitHub / GitLab / Bitbucket: For version control and repository management;
  • Jenkins / CircleCI / GitLab CI: These tools help automate the process of testing and building the application when code is pushed to the repository;
  • Docker: Docker is used in the deployment step. It packages the Node.js app into  a virtual container, making it easier to deploy in any environment;
  • Microsoft Azure / AWS / Heroku: Services where your Node.js app can be hosted and deployed;

We will be using GitHub for repository management and Jenkins to automate the testing process. 

The deployment of the application can be integrated into Jenkins right after the automated tests have been performed, however it requires the knowledge of Docker, which is a more suitable topic for a DevOps course.

1. What does CI stand for in CI/CD?
2. What is the purpose of Continuous Integration (CI) ?
3. Which of the following is an example of a hosting platform used for Node.js applications in a CI/CD pipeline?
4. Why is Docker used in the CI/CD pipeline?
What does CI stand for in CI/CD?

What does CI stand for in CI/CD?

Selecione a resposta correta

What is the purpose of Continuous Integration (CI) ?

What is the purpose of Continuous Integration (CI) ?

Selecione a resposta correta

Which of the following is an example of a hosting platform used for Node.js applications in a CI/CD pipeline?

Which of the following is an example of a hosting platform used for Node.js applications in a CI/CD pipeline?

Selecione a resposta correta

Why is Docker used in the CI/CD pipeline?

Why is Docker used in the CI/CD pipeline?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2
some-alt