Se entiende como el proceso de automatizar la construcción y pruebas del código cada vez que un miembro del equipo realizar cambios sobre el control de versiones. CI alienta a los desarrolladores a compartir su código y pruebas unitarias haciendo un "merge" sobre sus cambios en un repositorio compartido de control de versiones.

CI es una de las mejores practicas ya que los desarrolladores de software suelen trabajar de forma solitaria y necesitas integrar sus cambios con el código base del resto del equipo.

https://docs.microsoft.com/en-us/devops/develop/what-is-continuous-integration

CI en Github para un proyecto de Node (Actions)

Para poder crear el proceso automatizado en github es necesario crear los directorios .github, workflows y el archivo node.js.yml → .github\\workflows\\node.js.yml

name: Node.js CI

on:
  push:
		#Rama en la que se correrá el proceso build y test con cada push
    branches: [ main ] 
  pull_request:
		#Rama en la que se correrá el proceso build y test con cada pull request
    branches: [ main ]

jobs:
  build:
	
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [14.x, 16.x]
        # See supported Node.js release schedule at <https://nodejs.org/en/about/releases/>

    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v2
      with:
        node-version: ${{ matrix.node-version }}
        cache: 'npm'
    - run: npm ci
    - run: npm run build --if-present
    - run: npm test

CI en gitlab para un proyecto de Node (CI/CD)

image: node:14-alpine

stages:
  - test

unit_test:
    script:
        - npm install
        - npm test

CI en gitlab para un proyecto de Node + Sequelize + Postgres (CI/CD)

image: node:14-alpine

stages:
  - test

services:
  - postgres:latest

unit_test:
    services:
        - postgres:9.6
    variables:
        NODE_ENV: test
        POSTGRES_HOST: postgres
        POSTGRES_DB: test
        POSTGRES_USER: test
        POSTGRES_PASSWORD: passw@rd
    script:
        - npm install
        - npx sequelize-cli db:migrate
        - npm test

Más ejemplos con github actions:

https://dev.to/chathula/how-to-set-up-a-ci-cd-pipeline-for-a-node-js-app-with-github-actions-32h0