Skip to content

Entorno de desarrollo Linux con Vagrant 2

Posted on:February 8, 2024 at 05:17 AM
0

Table of contents

Open Table of contents

Introducción

Es esta segunda parte del post nos enfocaremos en agregar scripts para el setup de nuestra máquina virtual. Dentro de la ejecución del Vagrantfile instalaremos NodeJS, java, docker y otras herramientas.

NOTA: Los scripts utilizados son oficiales de cada una de las herramientas y podrían no ser la ultimas versiones.

1 NodeJS

Instalacion de NodeJS

Para instalar NodeJS utilizaremos NVM que es un gestor de versiones de NodeJS y que a su vez instala npm. Al tiempo de este post nos instalaremos la version 0.40.1.


#!/bin/bash

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

source ~/.bashrc

nvm install node

2. Java

Instalacion de java

Para instalar java utilizaremos SDKMAN que es un administrador de distintos SDKs, pero en este caso instalaremos Java. Este script nos instalará la última version de java disponible.

#!/bin/bash
curl -s "https://get.sdkman.io" | bash

export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"

source "/home/vagrant/.sdkman/bin/sdkman-init.sh"

sdk install java
echo -e

3. Docker

Para poder ejecutar contenedores dentro de la virtual utilizaremos docker

Instalación de Docker

Para instalar Docker utilizaremos la instalación habitual para un sistema operativo linux basado en Ubuntu.

sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo groupadd docker
sudo usermod -aG docker $USER

4. Cockpit project

Es una interfaz gráfica para servidores que nos permite realizar configuraciones en nuestra maquina, monitorear el rendimiento e incluso dispone de una terminal para realizar ejecutar tareas en nuestra máquina.

#!/bin/bash

# install cockpit

. /etc/os-release
echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main"> \
/etc/apt/sources.list.d/backports.list
sudo apt-get update
sudo apt-get install -y -t ${VERSION_CODENAME}-backports cockpit

5. Archivo de configuración

box_version:
ubuntu: 'ubuntu/focal64'
debian: 'debian/bookworm64'
user:
email: "mymail@mail.me"
keyName: "bitbucket"
passphrase: "mypass"