Book Image

DevOps for Web Development

By : Mitesh Soni
Book Image

DevOps for Web Development

By: Mitesh Soni

Overview of this book

The DevOps culture is growing at a massive rate, as many organizations are adopting it. However, implementing it for web applications is one of the biggest challenges experienced by many developers and admins, which this book will help you overcome using various tools, such as Chef, Docker, and Jenkins. On the basis of the functionality of these tools, the book is divided into three parts. The first part shows you how to use Jenkins 2.0 for Continuous Integration of a sample JEE application. The second part explains the Chef configuration management tool, and provides an overview of Docker containers, resource provisioning in cloud environments using Chef, and Configuration Management in a cloud environment. The third part explores Continuous Delivery and Continuous Deployment in AWS, Microsoft Azure, and Docker, all using Jenkins 2.0. This book combines the skills of both web application deployment and system configuration as each chapter contains one or more practical hands-on projects. You will be exposed to real-world project scenarios that are progressively presented from easy to complex solutions. We will teach you concepts such as hosting web applications, configuring a runtime environment, monitoring and hosting on various cloud platforms, and managing them. This book will show you how to essentially host and manage web applications along with Continuous Integration, Cloud Computing, Configuration Management, Continuous Monitoring, Continuous Delivery, and Deployment.
Table of Contents (16 chapters)
DevOps for Web Development
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface

An overview of a sample Java EE application


We are going to use PetClinic, available on GitHub. It is a sample spring application with JUnit test cases already written for it.

Note

A sample Spring-based application https://github.com/spring-projects/spring-petclinic .

The PetClinic sample application can be used to build simple and robust database-oriented applications to demonstrate the use of Spring's core functionality. It is accessible via web browser:

A few use cases:

  • Add a new pet owner, a new pet, and information pertaining to a visit to the pet's visitation history to the system

  • Update the information pertaining to a pet and pet owner

  • View a list of veterinarians and their specialties, a pet owner, a pet, and pet's visitation history

Once a WAR file is created, we can deploy it in Tomcat or another web server, and to verify it on the localhost, visit http://localhost:8080/petclinic. You will see something like this:

The list of tasks

These are the tasks we will try to complete in the rest of the chapters:

  • Jenkins installation, configuration, UI personalization

  • Java configuration (JAVA_HOME) in Jenkins

  • Maven or Ant configuration in Jenkins

  • Plugin installation and configuration in Jenkins

  • Security (access control, authorization, and project-based security) in Jenkins

  • Jenkins build configuration and execution

  • Email notification configuration

  • Deploying a WAR file to a web application server

  • Creating and configuring a build/deployment pipeline

  • Installing and configuring Chef

  • Installing and configuring Docker

  • Creating and configuring a virtual machine in AWS, Microsoft Azure, and containers

  • Deploy a WAR file into a virtual machine and a container

  • Configuring infrastructure monitoring

  • Orchestrating the application delivery pipeline using Jenkins plugins