Browse Month: May 2017

What is Build, Build Automation and Continuous Integration?

This tutorial we are going to learn about Build, Build Automation and Continuous Integration.

Build:

The build is a process of compiling the source code into binaries and package the software into JAR, WAR, EAR and whatever require the format for deployment or installation.

Build tools are usually transforming source code into binaries, which we can run on the command line or inside IDE.

Build Automation:

Build automation is automating the build process instead of manual process or deployment.

Deployment automation is making the build file and deploying to corresponding environments like Test, Non-Prod/UAT, or Production system.

Build Automation will do below steps.

  1. Connect to source control server (Subversion, RTC, Github, and CVS)

  2. Download the latest version into Master/Trunk/Mainline

  3. Compile the application

  4. Execute the code analysis (PMD, Checkstyle and FindBugs)

  5. Package the application binaries (JAR, WAR, EAR)

  6. Deploy the application to remote web or application server

  7. Restart the server

  8. Send an email with the summary of deployment.

Continuous Build:

Once code check-in to source code repository, automated build for every check-in.

Continuous Integration (CI):

Continuous Integration is a software development practice where developers commit code to a source code repository more frequently (check-in and checkout).

Build automation is the process of automating the application deployment, unit test and release using CI. CI process will be automated using a build tool with a continuous integration server.

Build Tools like Maven and Gradle.

Continuous Integration Servers like Jenkins, Hudson and CruiseControl.

Continuous Deployment (CD):

Automated deployment when deployment passed using CI into the lower environment like test/QA system also passed manual/functional testing and code changes will be promoted to the higher environment like UAT or Production.

Continuous Deployment will provide the notification to new/existing users, application/product release notes, new features, notifying to support, new version changes and other details.

Continuous Delivery:

Continuous Delivery is a software development practice where the release process is completely automated. All the code changes are automatically built, tested/verified, and deployed to a production environment.

Types of Cloud Computing?

This tutorial we are going to learn about Cloud Computing Types.

Types of Cloud Computing

  1. Public Cloud
  2. Private Cloud
  3. Hybrid Cloud
  4. Community Cloud

Public Cloud:

Public cloud services are owned by third party service providers. The services will be provided over the internet/network, which will be used to open to use in public.

Private Cloud:

Private cloud services are built entirely for a single enterprise usage, whether managed internally or by a third party firm to host the application or services in the cloud.

Hybrid Cloud:

Hybrid cloud is a composition of two or more clouds (private, community or public) that remain separate entities, but are guaranteed together to offer the benefits or multiple deployment models and depending upon their purpose.

An organization can maintain control of an internally managed private cloud while depending on the public cloud as needed.

Community Cloud:

Community cloud services exclusively used by a specific community of consumers, and it may operated and managed by one or more organizations in the community. Infrastructure is shared between organizations.