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
About the Author
About the Reviewer

Configuring SSH authentication using a key

Before starting with end-to-end automation and orchestration, we need to configure SSH authentication using a key. The objective behind it is to allow the Jenkins VM to connect to the Chef workstation. Then, we can issue SSH commands from the Jenkins dashboard on the Chef workstation VM to create an instance in AWS or Azure cloud and install a runtime environment on it to deploy the PetClinic application:

If we try to access the SSH Chef workstation from Jenkins, it won't work as we still need to configure password less configuration for security:

Let's configure virtual machine where Jenkins is installed to access virtual machine where Chef Workstation is installed.

  1. Open a terminal in Jenkins. Use ssh-keygen to create a new key:

  2. Verify the newly generated key on the local filesystem:

  3. Copy the key to the remote host using ssh-copy-id:

  4. Now try to access the Chef workstation using the Jenkins build job:

  5. If it fails, then try to access it from...