Build/Deployment Automation


Introduction:-
•        Many of the problems encountered in software application deployments can be traced to reliance on manual processes to build, test, and package release targets.
•        Modern software development practices such as continuous integration (CI) focus on executing integration builds early and often, rather than waiting until the software product is almost ready to deliver.
Architecture:-

Benefits Of CI:-
•        Increased productivity
•        Enables shorter feedback cycle when changes are made
•        Code is kept in a “releasable” state
•        Code gets back into the hands of testers quickly
•        Frees the team to do more interesting and valuable work
•        Improves morale, making it easier to retain good developers
•        Enables more frequent releases with new features
•        Improved quality
•        Makes it easier to find and remove defects because frequent integration and testing identifies bugs as they are introduced.
•        Multi-platform builds help in finding problems that may arise on some, but not all, versions of the supported platform.
•        Reduced Risk
Reduces uncertainty greatly because at all times the team knows what works, what does not, and what the major issues are

How It Builds:-
    • The build is completely automated, usually through the execution of a single script.
    • No matter how triggered or how often run, a build always begins by retrieving code from the source code repository.
    • Unless terminated prematurely, the end product of a build is always executable code.
    • Notification of build status always occurs through a feedback mechanism.
Continuous Deployment:-
 Continuous deployment is “Set of practices and steps that enable us to release working software any time, in any place, with as little effort as possible.” 
•        The build includes compilation, running all tests and inspections, packaging, and deployment.
•        “Any place” implies not only developer servers, but also QA and production servers.
Important Factors:-
•        Code coverage by automated tests.
•        Security & Load testing to cope up production environment.
•        Quantifiable measures once deployed to production.


Comments

Popular posts from this blog

Migrate from SVN to Git

Analyse log using plug and play FileBeat

.NET MAUI and Blazor to create windows/web and mobile application (.NET 6.0)

RabbitMQ setup and cluster configuration on a windows network

Proxy/Reverse Proxy/Load Balancing

ViewState vs Session vs Cache

Cookieless Session

Python vs Rest

Estimation techniques

Component analysis for application security