CICD :1

DevOps Classroom Series – 02/Feb/2021

Scenario of Application Development and Deployment in Learning Thoughts

  • LT (a ficticious organization) is working on 4 projects
    • LT-ecomm:
      • This is ecommerce project developed in Java Tecnologies
    • LT-ehealth:
      • This is a Healthcare project developed in .net Technologies
    • LT-elogistics:
      • This is a logistics project developed in python Technologies
    • LT-elearn:
      • This a elearning project developed in node js
  • The developement and project lead teams are Preview
  • LT-Management Ladder and QA and IT Team Preview
  • Plan for deploying Applications into various environments
    • All the applications developed in LT will have to undergo QA in the following environments
      • Unit Testing/Developer
      • Functional Testing / System Test Env
      • Performance Testing/ Perf Test Env
      • UAT/Pre-Prod
      • Manual Testing Environment
    • Then the application can be deployed to Production
    • All the testing should be automated- Sandeep and his team is responsible for that (apart for Manual Testing Environment).
    • Unit Testing should happen on the developer system and for every change submitted by developers
    • All of the changes done by developers during one day are consolidated and a System Test Env has to be created and Automated Functional Tests should be executed during night and results should be send to all the team members
    • Manual Testing Environment is updated along with Functional Testing environment every night
    • On Every Friday night the Performance Testing Environment should be created and all the performance tests should run over weekend and on monday performance test results should be published.
    • Once in two weeks all the work done by developers in that two weeks will be consolidated and a small release will be made and UAT environment is created where UAT Testing happens
    • Once the UAT is succesful, these changes will be published to Production environment (Prod is updated once in two weeks)
  • Summary: There are actions to be done
    • Whenever developer submits code
    • On some schedules (Every weekday at 9:00 PM, Every Friday at 10 PM, Every alternative Thursday, Every alternative Monday)

How to realize this

  • We need create this pipeline
    • to create test environments
    • to execute tests
  • We need to understand the system where developers are submitting the code (Version Control System)
  • To Create pipelines to automatically create environments and execute the tests we need some system => CI/CD Engine (Jenkins, Azure DevOps (vsts))

Next Steps:

  • Understand Version Control Systems and Learning a VCS called as GIT

Exercises: