[TP] Setting up the test environment


For this lab, we will present our Vagrant-based solution to create a local test environment.

What you will learn in this TP :

Oracle VM virtualbox

We will use Virtualbox to deploy our test VMs. Some labs will be done on Docker, so if you already have a Docker engine you can use it instead of deploying a new VM.

You must proceed with the installation of Virtualbox by following the procedure corresponding to your system:

https://www.virtualbox.org/wiki/Downloads

Hashicorp Vagrant

We will use Vagrant to automatically deploy test environments. To learn more about Vagrant, you can follow our dedicated training.

You must proceed with the installation of Vagrant by following the procedure corresponding to your system:

https://developer.hashicorp.com/vagrant/install

From concept to expertise

We have preconfigured a repo for the training.

  1. Git repo

    You can use the command below to clone the repo:

    git clone https://github.com/RousselTM/docker-formation
  2. Choice of environment

    The configurations of the test environments are in the tp folder. In this folder there are several subfolders, each corresponding to a test environment: simple VM, VM with Docker, VM with application... Depending on the lab, we will specify which one to use:

    cd elasticsearch-kibana-formation/tp
  3. Creating the environment

    Once in the folder corresponding to the desired environment, you can launch the creation of the environment on Virtualbox with the following Vagrant command

    vagrant up
  4. Accessing the VM
    You can access the VM by running the following command:
    vagrant ssh rousseltm-formation

Difficulty level: (1/5)

Course Glossary

DevOps

A culture, movement, and set of practices designed to unify software development (Dev) and IT operations (Ops).

API Gateway

A gateway that acts as a single entry point for all requests to a microservices architecture. It handles routing, security, and rate limiting.

Architecture

The overall structural design of an IT system, defining its various components, their relationships, and the principles guiding its evolution.

Artifact

The final outcome of a software compilation or build process, such as a .jar file, a zip archive, or a Docker image, ready for deployment.

Repository

A centralized storage location. This can refer to a source code repository (e.g., Git) or an artifact and binary repository (e.g., Harbor, Nexus, Arti...

Ansible

An open source IT automation tool (IaC) enabling configuration management, application deployment, and orchestration, operating agentlessly via SSH.