Skip to content

Aprovisionamiento (Manual)

Daniel Palomar Rodríguez edited this page Jun 20, 2017 · 1 revision

Aprovisionamineto del entorno de forma manual

Estos son los pasos para realizar el aprovisionamiento manual (utilizando Ansible) del entorno de desarrollo:

  1. Debemos asegurarnos tener instalado Ansible 2.2.2.0 o superior instalada:

sudo apt install ansible

  1. Ansible es interpretado por python2.7, por lo que debemos asegurarnos que tenemos la versión indicada instalada en el servidor:
sudo lxc-attach -n "$name" -- sudo apt update
sudo lxc-attach -n "$name" -- sudo apt install -y python2.7
  1. Instalar las dependencias de los playbooks en la máquina desde la que ejecutaremos Ansible. Dentro del repositorio de instalación:

bin/setup

  1. Ejecutamos el playbook de playbook/development.yml indicando el inventory file inventory/dev, el usuario e indicando que solo debe coger los hosts de lxc. Asegurarnos que el intérprete que se usa sea el de python2.7 para ello añadimos al comando:

ansible-playbook playbook/development.yml -u openfoodnetwork -i inventory/dev --limit=lxc -e ‘ansible_python_interpreter=/usr/bin/python2.7’ --ask-sudo-pass

Donde:

-u Indica el usuario.
-i El fichero donde se indican los hosts sobre los que realizar las acciones.
--limit Para indicar que solo debe aprovisionar los hosts bajo el tag indicado.
-e Indicando variables extras. En este caso se usa para indicar el intérprete de ansible.

Una vez tenemos todas las tareas completadas satisfactoriamente, esta aprovisionado el container. Podemos comprobar que tenemos postgresql, ruby, bundler, las dependencias y usuarios que necesitamos para nuestra aplicación.

Ahora queda deployar la aplicación (instalar las Gems o librerías de Ruby y crear y rellenar las bases de datos con datos de prueba). Entramos mediante una conexión ssh:

ssh [email protected]

  1. Instalamos las gems dependencias de la aplicación:
cd openfoodnetwork
bundle install
  1. Crear la base de datos usando las especificaciones del fichero config/database.yml, la poblamos utilizando el esquema y la seed:

rake db:setup

  1. Cargamos datos de prueba en la base de datos para poder realizar las acciones mínimas en la aplicación:

rake openfoodnetwork:dev:load_sample_data