El siguiente tutorial se centrará en describir la creación de una Task de Ansible para instalar RethinkDb.
Antes de continuar, se presume que el sistema operativo en el cuál se desea hacer deployment es de tipo Ubuntu y que ya existe una carpeta de deploy con las convenciones de ansible, por ejemplo que dentro de la carpeta de deploy de su proyecto existan las carpetas.
Dentro de la carpeta tasks debe existir por supuesto el archivo main.yml que es el archivo de ejecución de entrada.
Con lo anterior planteado, comenzemos esta breve implementación
- name: "Add RethinkDb sources file"file: path=/etc/apt/sources.list.d/rethinkdb.list state=touch
tags: installation
- name: "Add RethinkDb repository"lineinfile: dest=/etc/apt/sources.list.d/rethinkdb.list line="deb http://download.rethinkdb.com/apt {{ linux_code_name }} main"tags: installation
- name: "Add RethinkDb key"apt_key: url=https://download.rethinkdb.com/apt/pubkey.gpg state=presenttags: installation
- name: "RethinkDb Install"apt: name=rethinkdb state=present update_cache=yes
tags: installation
- name: "Enable service"service: name=rethinkdb enabled=yes
tags: service
vars: linux_code_name: xenial
esta línea es agregada debajo de la definición de los hosts, las pre_tasks y los roles.
en mi caso estoy utilizando la versión de ubuntu 16.04 por eso el code name es xenial, si están utlizando la 14 o 12 o cualquier otra versión de ubuntu es necesario que verifiquen cuál es el code name de la versión que están utilizando y ese será el valor de la variable.
proyecto-staging ansible_ssh_user=root ansible_ssh_host=xxx.xxx.xxx.xxx ansible_python_interpreter=/usr/bin/python3
lo importante es la instrucción
ansible_python_interpreter=/usr/bin/python3
---- include: deps.yml
- include: rethinkdb.yml
- name:"Restarting RethinkDb" service:
name=rethinkdb
state=restarted
ya con lo anterior al ejecutar el playbook se instalará rethinkDb y no hay necesidad de utilizar un Rol externo.
Saludos y espero les sea de utilidad.