Ansible nunha contorna DevOps

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introdución

O enfoque de DevOps está tendo unha creceente adopción nas empresas na procura de resolver o conflito entre os seus equipos de desenvolvemento e operativos. DevOps deriva o seu nombre do principio básico de que o desenvolvemento de software e o rendemento das operacións pódese mellorar e acelerar a través dunha mellor comunicación, integración e cooperación entre as equipas de desenvolvento de software e os profesionais de operacións de Tecnoloxías da Información..

DevOps céntrase principalmente na capacidade de crear e manter compoñentes esenciais con procedemientos automatizados e programáticos. Un concepto clave é a idea de Infraestructura como Código (IaC), un cambio de paradigma importante e innovador para os administradores de sistemas que administran actualmente a súa infraestrutura a través da execución manual de comandos administrativos e a edición de ficheiros de configuración. Deseñando, implementando e administrando a Infraestrutura coma Código, as configuracións se poden implementar e replicar de manera predecible e consistente en toda a contorna.

Utilizando Vagrant

Al probar el código para el despliegue de producción, los resultados solo son relevantes y válidos si una prueba se realiza en un entorno de desarrollo que es idéntico al entorno de producción. Esto es tan valido para el desarrollo de software como para los cambios en el código de infraestructura. La tecnología de virtualización hace que sea fácil y rentable instalar una máquina para probar el código antes del despliegue de producción. Sin embargo, el verdadero desafío es cómo construir un entorno de desarrollo en una máquina virtual para que sea una réplica del entorno de producción.

Vagrant:

  • supera este desafío ó axilizar a creación e a configuración de contornas de desenvolvemento virtual
  • ten a súa linguaxe propia de dominio específico que se utiliza para crear un conxunto de instruccións para administrar software de virtualización coma Virtualbox, KVM e VMware
  • pode interactuar con software de administración de configuración coma Ansible, Puppet, Salt y Chef.
  • simplifica o proceso de creación e administración de contornas virtualizadas consistentes necesarios para o desenvolvemento.

Tamén poderíamos crear un novo ficheiro de scripting con extensión .sh. Así se lle indicará a Vagrant que debe facer uso da ferramenta nativa Shell e executar todos os comandos agregados ao ficheiro .sh para que se execute xunto coa provisión da máquina. Sustituiríamos todo o bloque anterior por algo similar a isto:

config.vm.provision "shell",path: "bootstrap.sh"
O nome do ficheiro pode ser o que desexes coa terminación .sh para que poida ser un ficheiro de scripting en linux.
 # Define ansible provisioner
 config.vm.provision "ansible" do |ansible|
   ansible.playbook = "intranet-dev.yml"
 end