• Luis Jurado

  • Product Manager & Agile Coach

Phone

+4407428232179

Continuous Integration & Development (CI/CD)

It’s the most essential feature of any DevOps pipeline for building and releasing software to the customer in a highly ordered, efficient, and automated way using dozens of tools, processes, strategies, methodologies, and technologies. Without a CI/CD pipeline, a software development & delivery is virtually impossible in the 21st century.

STEPS IN TRADITIONAL CI/CD PIPELINE

  1. Code push to source code management.
  2. Static code analysis.
  3. Unit, integration, quality assurance, or other types of testing.
  4. Vulnerability & dependency management.
  5. Security & threat mitigation.
  6. Compliance and legal constraints management.
  7. Application libraries, dependencies, binaries, and dependencies linkage.
  8. Creation of artifacts and packaging those artifacts.
  9. Pushing artifacts to an artifact repository.
  10. Software is configured to be released.
  11. Software is versioned for a future release.
  12. Configurations of servers, environments, machines, virtual systems, and containers.
  13. Deployment of those packages to different environments.
  14. Observations and monitoring of those packages.

WHAT SHOULD A CI/CD TOOL OFFER

  1. Help in creating continuous integration builds
  2. Support of hundreds of technologies and tools
  3. Support of hundreds of programming languages and frameworks
  4. Help in creating automation tasks
  5. Work as an end to end software delivery pipeline
  6. CI/CD integrates full end to end DevOps phase
  7. Integrates code push, build, test, packaging, and deployment phases or tools
  8. Also works with other collaboration tools for updates such as Slack, Email
  9. Your git, build, test, environments are all integrated with CI/CD tools.
  10. In fullest it can automate thousands of tasks on thousands of tools but is mostly used for only automating CI/CD phase

PROCESS OR METHODOLOGIES WITHIN CI/CD

  1. Development Process
  2. Git Branching Strategy
  3. Source Code Analysis Process
  4. Unit, Integration & Acceptance Testing
  5. Quality Assurance Process
  6. Configuration Management
  7. Automated Deployment Strategy
  8. Container Registry Management
  9. Version Strategies
  10. Dependency Management
  11. Service Integration Process
  12. Security, Threat Mitigation
  13. Infrastructure Management
  14. Observability Strategies
  15. Monitoring Process
  16. Application Package Management
  17. Software Validation Strategy
  18. Non-Functional Testing Strategies
  19. Deployment Platform Management
  20. Other DevOps Tools & Technologies

FINAL THOUGHTS

Some tools and platforms deal with specific phases of DevOps, such as continuous integration or continuous delivery. Some handle development, others integration phase. Some tools such as automation, configuration, and release platforms deal with continuous delivery. Similarly, different types of continuous testing are also utilized during different phases and deployments to different environments.

My Blog