CI

Definition

Continuous Integration (CI) is a software development practice where developers frequently integrate code changes into a shared repository, often multiple times a day. Each integration is automatically verified by an automated build and testing process, allowing teams to detect errors quickly and improve software quality. CI aims to reduce integration problems and enable faster development cycles by ensuring that the codebase remains in a deployable state.

Secure Settings Example

version: '2.1'

jobs:
  build:
    docker:
      - image: circleci/python:3.8
    steps:
      - checkout
      - run:
          name: Install Dependencies
          command: |
            pip install --upgrade pip
            pip install -r requirements.txt
      - run:
          name: Run Tests
          command: pytest --junitxml=test-results/junit.xml
      - store_artifacts:
          path: test-results
      - store_test_results:
          path: test-results
workflows:
  version: 2
  build_and_test:
    jobs:
      - build

Insecure Settings Example

version: '2.1'

jobs:
  build:
    docker:
      - image: circleci/python:3.8
    steps:
      - checkout
      - run:
          name: Install Dependencies
          command: pip install -r requirements.txt
      - run:
          name: Run Tests
          command: pytest