Code Monkey home page Code Monkey logo

learning-devops's Introduction

Learning-devops

Why is traditional way (Waterfall model) of integrating bad?

  • Integration is exhausting and effort consuming for stakeholders
  • Fixing bugs and issues at the end of iterations
  • Merge issues can hold up teams
  • Long feedback cycle for functional defects
  • Long iterations

Continuous Integration (CI)

  • Removes integration team to allow developers to self-integrate at each commit
  • Each commit will be checked by the build server in terms of compilation, automated unit test, and automated UI test.
  • Cardinal princple of CI
    • A single central repo where the code lives
    • Developers check in/commit their code frequently
    • Build should be triggered every time a developer checks in code
    • Build should be automated and fast
    • Build should compile the code as well as run automated
    • Fixing a failed build should be top priority for developers
    • Build results should always be communicated to all developers
  • BENEFITS:
    • Integration is automated and quick
    • Issues show up early since frequent integration
    • Broken builds are fixed with immediate priority by developers
    • Shorter feedback cycle since developers are notified immediately
    • Shorter interations thus faster time-to-market
  • Needs a build pipeline to generate the build server

Pipeline

  • Maximize efficiency and avoid idles within each phase of CI/CD

Why is traditional way (Waterfall model) of operating bad?

  • Incorrectness of instructions
  • Difference in instructions across environment
  • Error prone nature of manual tasks
  • Deployments are sophisticated, high-impact with downtime

Continous Delivery (CD)

  • Software development practice where software can be released to product at any time
  • Removes manual task of reading instructions and preparing environment with automated script
  • BENEFITS:
    • Correctness of automated scripts can be verified at creation time
    • Automated scripts can easily pick the tasks for each environment
    • Automation prevents the occurence of human errors
    • Automated deployment, easily repeatable, thus lesser time to market
  • Needs a release pipeline to generate the build server

Continuous deployment (CD)

  • Software development practice where software is automatically released to production continously

So what is CI/CD?

  • Commonly, continous integration/continious delivery
  • Uncommonly, continous integration/continious deployment
    • Only enterpises whose IT department has reached a very high maturity level that implement continous deployment due to its risks.

Devops

  • Development(CI) and operations (CD)
  • CI/CD is seperated into 2 branches. CI Branch for dev and CD branch for ops
  • New culture and new way of thinking as an improvement to traditional development and operations

How do we build a CI/CD pipeline?

Screenshot 2021-08-22 010157

This Repository is a collection of Implementation documents.

Purpose:

By following this repository you can able to setup a DevOps CI/CD Pipeline using

  • git
  • Jenkins
  • Maven
  • Ansible
  • Docker &
  • Kubernetes

learning-devops's People

Contributors

hlongn2469 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.