4.2 La tubería de despliegue
|
|
- Martín Sandoval Maestre
- hace 5 años
- Vistas:
Transcripción
1 4.2 Tema 4: Continuous delivery
2 Índice Gestión de configuraciones Construcción de builds Integración continua Gestión de entornos de prueba 2
3 (versión sencilla) John Ferguson Smart - Real-World Strategies for Continuous Delivery with Maven and Jenkins 3
4 Principios de automatización John Ferguson Smart - Real-World Strategies for Continuous Delivery with Maven and Jenkins 4
5 Sólo compilar una vez John Ferguson Smart - Real-World Strategies for Continuous Delivery with Maven and Jenkins 5
6 Elementos de una tubería de despliegue Sistema de control de versiones Compilación y construcción de binarios (builds) Repositorio de artefactos Renombrado de versiones (de builds y releases) Análisis de código Configuración de entornos Despliegue de binarios Ejecución de tests: unitarios, aceptación, funcionales, capacidad Monitorización de datos y publicación de informes 6
7 Tubería de despliegue (versión completa - Jez Humble) 7
8 Gestión de la configuración Configuration managent Configuration management refers to the process by which all artifacts relevant to your project, and the relationships between them, are stored, retrieved, uniquely identified and modified Jez Humble - Continuous Delivery En metodologías tradicionales la gestión de la configuración es un proceso costoso en el que hay que desarrollar una gran cantidad de documentación que asegure que todos los ítems de configuración del sistema y sus relaciones están identificados, registrados y monitorizados. En un enfoque ágil la gestión de la configuración tiene que ver además con la gestión del cambio y de la evolución del software y con su desarrollo incremental. 8
9 Objetivos de la gestión de la configuración Una buena gestión de la configuración permitirá: Reproducir cualquiera de nuestros entornos, incluyendo la versión del sistema operativo instalada, la configuración de la red, el stack de software, las aplicaciones instaladas y su configuración Realizar fácilmente un cambio incremental a cualquiera de estos ítems y desplegar el cambio en algunos o todos los entornos Comprobar el cambio que ha ocurrido en un entorno particular y recuperar el origen del mismo: quién lo ha hecho, qué se ha hecho y cuando se ha hecho Hacer posible que cualquier miembro del equipo obtenga la información necesaria y pueda realizar los cambios necesarios El elemento central de la gestión de la configuración es el sistema de control de versiones: Subversion, Mercurial o Git Permite acceder a cualquier versión de cualquier fichero almacenado Permite la colaboración de equipos distribuidos en el tiempo y el espacio 9
10 Cómo utilizar bien un sistema de control de versiones 1. Mantén absolutamente todo bajo el control de versiones Código fuente, tests, scripts de base de datos, scripts de construcción y despliegue, documentación, ficheros de configuración, librerías, etc. Información requerida para recrear los entornos de pruebas y producción en los que corre la aplicación: configuración de servidores, redes, sistemas operativos Debe ser posible recrear cualquier versión de cualquier entorno en el que corren las aplicaciones y analizar la historia de cambios 2. Sube diariamente los cambios al repositorio De esta forma se hacen públicos y todos los miembros del equipo pueden conocerlos Dos enfoques (no demasiado distintos) Una única rama de desarrollo con ramas de features de vida corta GitFlow con la rama master y la develop que hace de rama de integración continua 3. Utiliza mensajes de commit que tengan sentido 10
11 Aplicación = Configuración + Binarios + Datos Podemos cambiar una aplicación modificando cualquiera de los siguientes elementos que la constituyen: Ficheros de configuración que pueden cambiar el comportamiento de la aplicación en tiempo de construcción (build time), de despliegue (deploy time) o de ejecución (run time) Binarios obtenidos a partir del código fuente Datos (guardados en la BD, imágenes, vídeos, etc.) Aplicación Ficheros de configuración Binarios Datos Todos los elementos deben estar en el sistema de control de versiones y debemos poder recuperar una versión determinada Ficheros de configuración: Determinan valores necesarios para ejecutar y probar la aplicación: URL de servicios, URL del sistema de base de datos, etc. Modifican la aplicación: mensajes de error, imágenes e incluso su comportamiento (no recomendable) 11
12 Tipos de configuración La información de la configuración puede ser inyectada en la aplicación en bastantes puntos en el proceso de construcción, despliegue, test y lanzamiento Los scripts de build pueden obtener la configuración e incorporarla en los binarios en tiempo de construcción El software de empaquetado puede inyectar configuración en tiempo de empaquetamiento Los scripts de despliegue o instaladores pueden obtener la información necesaria o preguntar al usuario y pasarla a la aplicación en tiempo de despliegue o como parte del proceso de instalación La aplicación misma puede conseguir la configuración en tiempo de arranque (startup time) o en tiempo de ejecución Mala práctica, porque los binarios deberían ser los mismos en todos los entornos 12
13 Ejemplo de gestión de configuraciones en Java Conjunto de tuplas (propiedades) Se definen en ficheros de propiedades Formas de gestionar distintas configuraciones: Distintos ficheros: myapp/config/dev-application.properties myapp/config/test-application.properties myapp/config/uat-application.properties myapp/config/prod-application.properties En el proceso de despliegue el fichero correcto se coloca en /home/myapp/config/application.properties firstname=lokesh lastname=gupta blog= technology=java Configuration Management With RESTful Git 13
14 En cada entorno se deben copiar ficheros específicos Desarrollo UAT Producción ToDoList v 2.1 Develop Conf ToDoList v2.1 Develop Binarios ToDoList v2.1 Datos ToDoList v2.1 Develop ToDoList v 2.1 UAT Conf ToDoList v2.1 UAT Binarios ToDoList v2.1 Datos ToDoList v2.1 UAT ToDoList v 2.1 Prod Conf ToDoList v2.1 Prod Binarios ToDoList v2.1 Datos ToDoList v2.1 Prod 14
15 Variables de entorno Otra forma de gestionar la configuración es hacer que el proceso de despliegue inicialice variables de entorno y obtener sus valores en los binarios Sistema usando en Heroku (ver Configuration and Config Vars) Heroku también permite gestionar distintas configuraciones remotas de una misma aplicación La aplicación lee los valores de las variables del entorno. Por ejemplo, en Java: String databaseuser = System.getenv( DB_USER ); String databasepasswd = System.getenv("DB_PASSWORD")) 15
16 Gestión de configuración en Play En Play Framework se definen las variables de configuración en el fichero application.conf : # Database configuration # ~~~~~ # You can declare as many datasources as you want. # By convention, the default datasource is named `default` # db.default.driver=org.h2.driver db.default.url="jdbc:h2:mem:play" # db.default.user=sa # db.default.password="" Se pueden cargar otros ficheros de configuración usando el comando start start -Dconfig.file $ start -Dconfig.file=/opt/conf/prod.conf $ start -Dconfig.url= En la aplicación se pueden obtener los valores de las variables declaradas val configuration = Configuration.load() val isenabled = configuration.getstring("engine.isenabled") 16
17 Gestión de configuración en Play Otra opción: definir ficheros alternativos y cargarlos de forma explícita Se puede usar una variable de entorno en la que guardamos el tipo de entorno (dev, test, prod) para cargar el fichero correspondiente: application.dev.conf, application.test.conf, application.dev.conf object Global extends GlobalSettings { override def onloadconfig(config: Configuration, path: File, classloader: ClassLoader, mode: Mode.Mode): Configuration = { val appmode = configuration.getstring("application.mode") val modespecificconfig = config ++ Configuration(ConfigFactory.load( application. +appmode+".conf")) super.onloadconfig(modespecificconfig, path, classloader, mode) } } 17
18 Tubería de despliegue (versión completa - Jez Humble) 18
19 Construcción de builds Verbo to build : construir un sistema (fichero o conjunto de ficheros) que se van a desplegar (copiar) en un entorno (computador o conjunto de servidores) Entendemos por build el conjunto de ficheros (binarios y de configuración) obtenidos a partir de la compilación del código fuente de un proyecto y su configuración para ser desplegado y lanzado en un entorno Un elemento fundamental son las dependencias: Entre ficheros compilados y ficheros de configuración Entre ficheros compilados y paquetes externos Entre ficheros compilados y entornos en los que se van a desplegar Fundamental la automatización y no depender del IDE 19
20 Tareas comunes en el build Compilación (java ->.class) Selección de ficheros de configuración (XML o.properties) Lanzamiento de pruebas unitarias Empaquetado (construcción de JARs) y copia en repositorio de artefactos Despliegue 20
21 Automatización del build Lenguajes y herramientas de build Make (C, Unix) Ant y Maven (Java) Rake (Ruby) - Buildr (Scala) Gradle (Java, Scala, etc.) sbt (Scala, Play Framework) 21
22 Gestión de las dependencias Tanto Maven como sbt utilizan un sistema similar para definir las dependencias de la aplicación con otras librerías. Está basado en el proyecto Ivy de Apache. Es posible definir dependencias distintas para tests Es posible definir dependencias basadas basadas en el número de versión: latest.integration, o [1.0,) Documentación Play Framework - Managing library dependencies Apache Ivy - Dependencies 22
23 Build en Play (1) Fichero project/build.scala object ApplicationBuild extends Build { val appname = "todolist" val appversion = " val appdependencies = Seq( // Add your project dependencies here, jdbc, anorm, "postgresql" % "postgresql" % " jdbc4" ) } val main = play.project(appname, appversion, appdependencies).settings( // Add your own project settings here ) 23
24 Build en Play (2) Comando para compilar y preparar para su ejecución una aplicación play $ play clean compile stage 1. Descarga todas las dependencias al directorio target/staged 2. Empaqueta los fuentes en target/scala-2.10/todolist_ sources.jar 3. Crea y empaqueta la documentación en target/scala-2.10/todolist_ javadoc.jar 4. Compila y empaqueta los binarios en target/scala-2.10/todolist_ jar 5. Copia el JAR con el binario al directorio target/staged 6. Crea el comando target/start con el que arrancar la aplicación 24
25 Build en Play (3) Comando para empaquetar una aplicación Play $ play clean compile dist 1. Hace todo lo que stage 2. Crea el fichero ZIP dist/todolist zip con todos los JARS de los que depende la aplicación 3. Dentro del ZIP guarda el comando start Ejemplo práctico sobre cómo poner en producción una aplicación Play (Alvin Alexander) 25
26 Número de versión del build en Play Para crear el número de versión a partir de una variable de entorno: $ export BUILD_NUMBER=203 $ play clean compile stage object ApplicationBuild extends Build { val appname val appversion = "todolist" = "1.0." + System.getenv( BUILD_NUMBER") Para crear el número de versión a partir de una propiedad especificada en línea de comando: $ play -Dbuild.number=203 clean compile stage object ApplicationBuild extends Build { val appname val appversion = "todolist" = "1.0." + System.getProperty( build.number ) 26
27 Repositorio local de artefactos Ya está Maven bajándose todo Internet Es conveniente mantener las dependencias con JAR externos en un repositorio local de artefactos Maven (o sbt) busca en el repositorio local antes de ir al repositorio Maven 2 estándar Dejamos también ahí los builds compilados de nuestros proyectos y librerías de utilidad Aplicaciones que gestionan el repositorio local y lo mantienen sincronizado con los repos remotos: artifactory, Nexus 27
28 Pruebas unitarias y de integración Cada desarrollador debe probar los tests unitarios en sus máquinas locales antes de hacer un push Diariamente el servidor de Integración Continua: Ejecuta todos los tests unitarios en la rama principal y genera el build Despliega en el entorno de integración para ejecutar los tests de integración Es conveniente separar los tests unitarios de los tests de integración y poder ejecutarlos unos independientemente de otros 28
29 Tests de integración y ramas de características Un problema cuando se trabaja con ramas de características es que es difícil automatizar los tests de integración Algunos servidores de IC permiten definir estrategias automáticas de build para cada rama (por ejemplo, Atlassian Bamboo) Solución simple: Hacer los tests de integración en la rama principal Desarrollar en la rama principal usando interruptores de características que son activados por los tests unitarios y de integración Si se crean ramas de características que sean short-lived de verdad y que no duren más de dos o tres días. Mezclar tras ese tiempo en la rama principal y pasar los tests de integración. 29
30 Calidad de código Herramientas para el análisis de código estático en Java: PMD, Findbugs, Checkstyle (análisis en RebelLabs) Hay que tomarse la calidad del código en serio Integrarlo en el servidor de CI para que si no se pasan las reglas, falle el build Es mejor definir pocas reglas y ser estrictos que definir muchas reglas y no cumplirlas Importante para la calidad del código: dominar el IDE Uno de los menos conocidos y mejores IDE para Java (y Scala): IntelliJ IDEA (disponible versión gratuita) 30
31 Integración continua Diariamente la aplicación se integra y se ejecutan las pruebas unitarias y de integración Proceso automático: Se baja la última versión del control de versiones Se lanza el script de build Se publican los resultados de los tests en una página web accesible a todo el equipo Herramientas Bamboo Cruise Control Jenkins Go TravisCI 31
32 Ejemplo de integración continua con Jenkins Tomado de John Ferguson Smart - Real-World Strategies for Continuous Delivery with Maven and Jenkins 32
33 33
34 34
35 35
36 36
37 37
38 38
39 39
40 40
41 41
42 42
43 43
44 44
45 45
46 46
47 47
48 48
49 49
50 50
51 51
52 52
53 53
54 54
55 55
56 56
57 57
58 58
59 Tubería de despliegue Domingo Gallardo, DCCIA, Univ. Alicante 59
60 Entornos de prueba La última parte de la tubería de despliegue consiste en probar los builds compilados en distintos entornos de prueba Distintos entornos Tests de integración y aceptación UAT Tests de capacidad Producción A su vez, cada uno de ellos puede tener distintas configuraciones y estar formado por múltiples máquinas Pruebas con distintos clientes y navegadores Pruebas con distintas bases de datos y servicios (si se va a desplegar la aplicación en distintos entornos de producción) 60
61 Desplegar de la misma forma Es esencial usar el mismo proceso para desplegar en los distintos entornos Características diferentes de los entornos en ficheros de configuración, no en el script de despliegue Distintas IP (como mínimo) Distintos sistemas operativos Distinta configuración del middleware (localización de las bases de datos y servicios externos) El script de despliegue debería ser el mismo en todos los entornos: 1. Configurar el entorno 2. Desplegar los binarios 3. Poner en marcha las aplicaciones y comprobar que funcionan (pruebas de humo) 61
62 Gestión de entornos de prueba y producción Cuanto menos control tenemos sobre el entorno en el que el código se ejecuta, más probabilidades hay de comportamientos no esperados Nos interesa tener control sobre todos y cada uno de los bits del entorno en el que se despliega nuestra aplicación Los cambios en los entornos deben realizarse sólo mediante procesos automatizados y registrados En cada entorno se debe definir claramente (y guardar en el control de versiones): Configuración Software que se despliega Topología de la red Estado El objetivo final es necesitar solo dos parámetros para realizar el despliegue: Identificador del entorno de despliegue Identificador del build a desplegar 62
63 Herramientas de empaquetado En cada entorno hay que desplegar: Conjunto de ficheros binarios Ficheros de configuración Ficheros estáticos en el control de versiones Es muy recomendable utilizar un sistema de empaquetado para desplegar la aplicación en el entorno: RPMs en el mundo Linux Cada release se empaqueta y se sube a un repositorio Las herramientas de gestión de entornos se encargan de instalar el paquete de la misma forma que instalan el resto de software 63
64 Virtualización de entornos La virtualización permite crear y configurar distintos entornos en una única máquina física Muy económico Entornos controlables Ejecuciones repetibles Software más popular VirtualBox (Oracle) vsphere Hypervisor (VMware) 64
65 Vagrant Software open source, creado por Mitchel Hashimoto Escrito en Ruby Permite automatizar la creación, puesta en marcha, configuración y aprovisionamiento de entornos virtuales Vagrant web site 65
66 Instalación de Vagrant Funciona inicialmente con VirtualBox Fácil instalación mediante paquetes nativos del SO Se instala el comando vagrant Posibles comandos: 66
67 Inicializando y descargando una box Se crea un directorio y se ejecuta el comando vagrant init para crear un fichero Vagrantfile que contiene una configuración por defecto $ mkdir prueba-vagrant $ cd prueba-vagrant $ vagrant init Se descarga una máquina virtual vacía (box) de una URL con el comando vagrant box add nombre URL $ vagrant box add precise32 Downloading box from URL: Extracting box...te: 568k/s, Estimated time remaining: 0:00:02)) Successfully added box 'database' with provider 'virtualbox'! 67
68 Boxes Las boxes son esqueletos de máquinas virtuales de la plataforma de virtualización con la que Vagrant esté trabajando Lista de boxes oficiales: Lista de boxes de la comunidad: Contienen lo básico para poder poner en marcha Vagrant: Gestor de paquetes ssh Usuario ssh Chef o Puppet (aunque no es necesario, lo veremos después) Se guardan en el directorio ~/.vagrant.d/boxes 68
69 Cómo usar una box Un primer ejemplo Fichero Vagrantfile Vagrant.configure("2") do config config.vm.box = "precise32" end Para poner en marcha la máquina virtual y conectarse por ssh: $ vagrant up $ vagrant ssh 69
70 Carpeta compartida Vagrant comparte automáticamente el directorio de la máquina host (el directorio con el fichero Vagrantfile) en el directorio /vagrant de la máquina virtual $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... [default] Booting VM... [default] Waiting for machine to boot. This may take a few minutes... [default] Machine booted and ready! [default] Mounting shared folders... [default] -- /vagrant [default] VM already provisioned. Run `vagrant provision` or use `--provision` to force it $ vagrant ssh Welcome to Ubuntu LTS (GNU/Linux generic-pae i686) * Documentation: Welcome to your Vagrant-built virtual machine. Last login: Fri Sep 14 06:22: from vagrant@precise32:~$ pwd /home/vagrant vagrant@precise32:~$ ls /vagrant Vagrantfile 70
71 Aprovisionamiento Es posible automatizar la instalación de software en las máquinas virtuales definiendo un script en el fichero bootstrap.sh en el mismo directorio del Vagrantfile: #!/usr/bin/env bash apt-get update apt-get install -y apache2 rm -rf /var/www ln -fs /vagrant /var/www Y añadiendo una instrucción en Vagrantfile: Vagrant.configure("2") do config config.vm.box = "precise32" config.vm.provision :shell, :path => "bootstrap.sh" end 71
72 Puesta en marcha El comando vagrant reload --provision vuelve a lanzar la máquina virtual y ejecuta el aprovisionamiento: $ vagrant reload -provision... se ejecuta el script bootstrap.sh $ echo "Hola mundo" > hola.txt $ vagrant ssh vagrant@precise32:~$ wget -qo /hola.txt Hola mundo 72
73 Configuración de la red El fichero Vagrantfile permite también configurar la red de la máquina virtual con distintas opciones Reenvío de puertos Asignación de dirección IP estática Definición de redes privadas entre máquinas (documentación de Vagrant) Ejemplo de reenvío de puertos Vagrant.configure("2") do config config.vm.box = "precise32" config.vm.provision :shell, :path => "bootstrap.sh" config.vm.network :forwarded_port, host: 4567, guest: 80 end Si hacemos vagrant reload podremos acceder en la máquina host al servidor web en :
74 Múltiples máquinas Es posible controlar distintas máquinas con un único Vagrantfile Vagrant.configure("2") do config config.vm.provision "shell", inline: "echo Hello" config.vm.define "web" do web web.vm.box = "apache" end config.vm.define "db" do db db.vm.box = "mysql" end end Es posible arrancar, conectarse, etc. a cualquier máquina con vagrant up <machine-name> Es posible comunicar una máquina con otra a través de la red privada 74
75 Otros comandos vagrant halt: para la máquina vagrant destroy: elimina el estado de la máquina (no borra la box) vagrant status: muestra el estado de las máquinas 75
76 Herramientas de gestión de entornos Por defecto la configuración (aprovisionamiento) de la máquina Vagrant se hace con un script de shell Es posible utilizar otras herramientas de mayor nivel, independientes del shell y del SO usado, como Puppet o Chef Vagrant.configure("2") do config config.vm.provision "puppet_server" do puppet puppet.puppet_server = "puppet.example.com" puppet.puppet_node = "node.example.com" puppet.options = "--verbose --debug" end end 76
77 Introducción a Puppet Permite automatizar la gestión toda la infraestructura de máquinas de una empresa Terminología: Nodo: máquina que mantiene una configuración determinada Puppet master: servidor de Puppet que chequea la configuración de los nodos cada 30 minutos Puppet agent: agente de Puppet que se ejecuta en cada nodo y se comunica con el Puppet master Estado deseado: Configuración definida para cada uno de los nodos Cada nodo envía al Puppet master datos sobre su estado actual Si un nodo no se encuentra en la configuración deseada, el maestro le envía detalles de su configuración y el agente realiza los cambios necesarios en el nodo para volver al estado deseado 77
78 Introducción a Puppet 78
79 Introducción a Puppet 79
80 Descripción de la configuración de un nodo La configuración de un nodo se describe mediante la definición de recursos Cada recurso es una instancia de un tipo de recurso, tiene un nombre, unos atributos (definidos por el tipo) y unos valores para cada atributo Puppet usa su propio lenguaje para definir los recursos user { 'dave': ensure => present, uid => '507', gid => 'admin', shell => '/bin/zsh', home => '/home/dave', managehome => true, } En los recursos se define el estado deseado 80
81 Tipos de recursos Es conveniente tener a mano la chuleta de tipos de recursos The Trifecta file package service Otros importantes notify exec cron user group 81
82 Consola de administración La versión enterprise de Puppet (gratuita hasta 10 nodos) tiene herramientas y utilidades para simplificar la gestión, como la consola de administración 82
83 Vídeo de Puppet enterprise 83
84 Bibliografía de ampliación Martin Fowler - Continuous Integration Jez Humble, Continuous Delivery, Addison Wesley 2011 Web y blogs de Thoughtworks sobre Continuous Delivery 84
Continuous Delivery (y 3)
Continuous Delivery (y 3) Sesión 11a 2 Entornos de prueba La última parte de la tubería de despliegue consiste en probar los builds compilados en distintos entornos de prueba Distintos entornos Tests de
Más detallesMaven.
Maven http://maven.apache.org/ 1 Ciclo de vida de la construcción de un producto de software 2 Ciclo de vida de la construcción de un producto de software Fuentes (cientos, miles) Datos de configuración
Más detallesOpenGnsys 1.1.0: Automatización de entornos virtuales y nuevas funcionalidades
OpenGnsys 1.1.0: Automatización de entornos virtuales y nuevas funcionalidades Índice Entornos virtuales Justificación Requisitos Vagrant Entornos para OpenGnsys Nuevas funcionalidades 1.1.0 Curso Online
Más detallesAdministrar un repositorio Git con Gogs
Laboratorio de Sistemas Operativos y Redes. Administrar un repositorio Git con Gogs Alumnos: Leandro Antunez Mariano Verdecanna. 1er Cuatrimestre, 2018. Sumario Introducción Instalación paso a paso Configuración
Más detallesManual de Instalación en Ubuntu
Manual de Instalación en Ubuntu Versión 2 Enero 2015-1 - Índice de contenido 1. Paquetes de Software y archivos necesarios...3 1.1 Obtener permisos de root...3 2. Instalación de Sun Java JDK 6...3 3. Instalación
Más detallesDesarrollo Software Gran Escala
Desarrollo Software Gran Escala Herramientas de Desarrollo (Parte 3: Generadores y Constructores) Diferentes tipos de herramientas Controladores de versión Ambientes de desarrollo Pruebas y Depuración
Más detallesAutomatización: Hacia el Software de Calidad. Building Success Together
2017 Automatización: Hacia el Software de Calidad Building Success Together Contenido Conceptos Básicos Automatización Desarrollo Guiado por Pruebas (TDD) Integracion Continua Entrega Continua Virtualización
Más detallesTaller de Git y GitHub
26 de septiembre de 2015 Documento protegido por GFDL Copyright (c) 2015. e-mail: guillermo(en)movimientolibre.com http://www.movimientolibre.com/ Se otorga permiso para copiar, distribuir y/o modificar
Más detallesManual de Instalación en CentOS
Manual de Instalación en CentOS Versión 2 Enero 2015-1 - Índice de contenido 1. Paquetes de Software y archivos necesarios...3 1.1 Obtener permisos de root...3 2. Instalación de Sun Java JDK 6...3 3. Instalación
Más detallesUDS Enterprise - Preparando Plantillas Xubuntu XRDP UDS Actor
Introducción El presente documento muestra cómo configurar una máquina virtual de SO Linux Ubuntu para poder ser usada como plantilla con UDS Enterprise. Durante el proceso se mostrará el proceso de instalación
Más detallesInstalling_elecworks_ES (Ind : M) 05/10/2017. elecworks. Guía de instalación
Installing_elecworks_ES (Ind : M) 05/10/2017 elecworks Guía de instalación 1 Instalar elecworks Los archivos de instalación de elecworks están disponibles en CD-ROM o mediante descarga. Este documento
Más detallesIntroducción a GIT. Santiago Avalos - Ingenieria del Software - FaMAF
Introducción a GIT Objetivos y Alcance Comprender el concepto de control de versiones, y dar una introducción al uso de Git para el manejo de repositorios en equipos de desarrollo. Introducción a sistemas
Más detallesTesting + Integración continua
Testing + Integración continua Agenda Introducción Conceptos Herramientas CI en Arquitectura Práctica Agenda Introducción Conceptos Herramientas CI en Arquitectura Práctica Conceptos El Testing, o pruebas
Más detallesUDS Enterprise - Preparando Plantillas Xubuntu XRDP UDS Actor
Introducción El presente documento muestra cómo configurar una máquina virtual de S.O. Linux Ubuntu para poder ser usada como plantilla con UDS Enterprise. Durante el proceso se mostrará el proceso de
Más detallesDevOps: primeros pasos
DevOps: primeros pasos Club de Investigación Tecnológica Allan Cascante Martín Flores 27 de Julio. 2016 Agenda La idea detrás de DevOps Beneficios Prácticas para lograr ser DevOps Conclusiones Administradores
Más detalles8 de Noviembre de 2016 a las 23:44
Rooteando Blog 1/10 Automatización con Puppet (I) :Conceptos e instalación 8 de Noviembre de 2016 a las 23:44 Cuando se administra un conjunto de diferentes tipos de máquinas, por norma general se utilizan
Más detallesPor que Cloud? Una Estrategia basada en Cloud responde a las presiones diarias que sufren los Departamentos Informáticos
OFFERING CLOUD Por que Cloud? Una Estrategia basada en Cloud responde a las presiones diarias que sufren los Departamentos Informáticos Por que Cloud? Una Estrategia basada en Cloud tiene las siguientes
Más detallesUNIVERSIDAD DE COSTA RICA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS DE LA COMPUTACIÓN E INFORMÁTICA
UNIVERSIDAD DE COSTA RICA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS DE LA COMPUTACIÓN E INFORMÁTICA CI2657- ROBÓTICA Prof. Bach. Kryscia Daviana Ramírez Benavides Using ant build files Elaborado por:
Más detallesInstalación de una IP-PBX en Linux
Anexo Instalación de una IP-PBX en Linux Para todo el manual desarrollado los comandos que se deben utilizar pueden variar cuando se trate de archivos con versiones que pueden ser actualizadas, por ejemplo
Más detallesVagrant Documentation
Vagrant Documentation Versión 0.1.0 Rafael Rodríguez Gayoso 09 de noviembre de 2017 Índice general 1. Presentación 1 2. Paradigma cliente-servidor en aplicaciones web. 3 3. Virtualizando la solución 5
Más detallesMANUAL DE USUARIO Plugins para maven Framework ATLAS. Versión 1.1
MANUAL DE USUARIO Plugins para maven Framework ATLAS Versión 1.1 Hoja de Control Título Documento de Referencia Responsable Manual de generación del zip para herramienta de validación COVER NORMATIVA ATLAS
Más detallesA. Instalación de Mininet
A. Instalación de Mininet A.1 Consideraciones Previas En este anexo se detalla la instalación de Mininet en Mac OS X, Windows 7 y Ubuntu 14.04. Se necesitan las siguientes herramientas en las tres plataformas:
Más detallesSeminario 2 Eclipse PROGRAMACIÓN 3. Septiembre Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante.
Seminario 2 PROGRAMACIÓN 3 Septiembre 2011 de clases Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante Seminario 2.1 1 2 3 4 de clases 5 de clases 6 7 Seminario 2.2 Localizado en
Más detallesINSTALACIÓN DE ASTERISK INSTALAR ASTERISK EN UBUNTU
INSTALACIÓN DE ASTERISK INSTALAR ASTERISK EN UBUNTU Como se ha mencionado en entradas anteriores ASTERISK puede funcionar sobre sistemas UNIX por lo tanto en esta entrada explicamos cómo hacer la respectiva
Más detallesMáster de Software Libre Administración de Redes y Sistemas Operativos
Máster de Software Libre Administración de Redes y Sistemas Operativos Trabajo de Fin de Máster: Servidor de Escritorios Remotos Autor: Edwin Boza Gabor Tutor UOC: Jordi Massaguer Tutor Externo (OpenTrends):
Más detallesUDS Enterprise - Preparando Plantillas Xubuntu X2Go + Actor UDS
Introducción El presente documento muestra cómo configurar una máquina virtual de SO Linux Ubuntu para poder ser usada como plantilla con UDS Enterprise. Durante el procedimiento, se mostrará el proceso
Más detallesDesarrollo ágil en la nube de Oracle
Acerca de... 500+ Technical Experts Helping Peers Globally bit.ly/oracleaceprogram 3 Niveles de membresía Oracle ACE Director Oracle ACE Oracle ACE Associate Contacto: oracle-ace_ww@oracle.com Facebook.com/oracleaces
Más detallesAnexo I. Instrucciones de instalación
Anexo I. 1. Instalación de la Aplicación Web Para poder desplegar adecuadamente esta Aplicación Web hace falta un contendor de Servlets. Es decir, un programa capaz de interpretar los Servlets [7] y las
Más detallesIntroducción a GIT. GIT SDA Ing. Carlos Dell Aquila
Introducción a GIT 1 GIT SDA Ing. Carlos Dell Aquila Índice Motivación Introducción a GIT Instalando GIT Configurando GIT Comenzando con GIT Repositorios Remoto Trabajando con GitHub 2 Motivación Es habitual
Más detallesIntroducción a GIT GIT - SDA. Carlos Del Aquila Sistemas Digitales Avanzados Universidad Nacional de San Juan
Introducción a GIT 1 Carlos Del Aquila Sistemas Digitales Avanzados Universidad Nacional de San Juan Índice Motivación Introducción a GIT Instalando GIT Configurando GIT Comenzando con GIT Repositorios
Más detallesMemoria de Prácticas. Servicios Web
de Prácticas Servicios Web Ángel Manuel Gamaza Domínguez José Miguel Otte Sainz-Aguirre Grado en Ingeniería Informática Universidad de Cádiz 8 de Mayo de 2016 Prácticas 1 Índice 1. Introducción 4 2. Instalación
Más detallesTema 2: Instalación de OpenGnsys CURSO BÁSICO DE OPENGNSYS V V.04/01/2018 GRUPO DE DESARROLLO OPENGNSYS AUTORES: - DOBLAS VISO, ANTONIO JESÚS
V.04/01/2018 Tema 2: Instalación de OpenGnsys CURSO BÁSICO DE OPENGNSYS V 1.1.0 GRUPO DE DESARROLLO OPENGNSYS AUTORES: - DOBLAS VISO, ANTONIO JESÚS - GÓMEZ LABRADOR, RAMÓN. Tema 2: Instalación de OpenGnsys
Más detallesINSTALACION Y CONFIGURACION OPENSTACK. La instalación de OpenStack se realiza sobre el sistema operativo Ubuntu LTS Desktop.
INSTALACION Y CONFIGURACION OPENSTACK La instalación de OpenStack se realiza sobre el sistema operativo Ubuntu 14.04 LTS Desktop. Se comprueba si los scripts de configuración de OpenStack están disponibles
Más detallesImplantación de aplicaciones web Documentation
Implantación de aplicaciones web Documentation Versión 2017.0 José Domingo Muñoz 09 de octubre de 2017 Índice general 1. Unidades 3 1.1. Introducción a la implantación de aplicaciones web...........................
Más detallesRecetas Docker Documentation
Recetas Docker Documentation Versión 0.1.0 Rafael Rodriguez Gayoso 09 de noviembre de 2017 Índice general 1. Capítulo 1. Primeros pasos con Docker 1 1.1. 1.0 Introducción.............................................
Más detallesQué es un Java Maven Artifact?
El concepto de Maven Artifact es uno de los conceptos que más cuesta entender cuando uno trabaja con Maven. Qué es un Maven Artifact?. Explicarlo a veces no es sencillo. Pero si hablamos de programación
Más detallesSOLUCIÓN: LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA. Arquitectura física en 3 niveles usando java rmi
Tareas a realizar SOLUCIÓN: LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA Arquitectura física en 3 niveles usando java rmi 1) Descomprimir en C:\ el fichero LabRMI.zip, el cual contiene
Más detallesINSTALAR WORDPRESS EN DEBIAN
INSTALAR WORDPRESS EN DEBIAN Estos son los pasos a seguir. No es la única solución posible. Mi sistema Operativo Físico es un Windows 7, y tengo virtualizado con VmWare una Debian 7. 1. Actualizar el sistema
Más detallesComo instalar Geonetwork
Como instalar Geonetwork en GNU/Linux 16 de agosto de 2017 Título: Como instalar Geonetwork 3.2.1 en GNU/Linux Versión: 1.0 Autor: Grupo de Trabajo Tecnología y desarrollo de IDESA Fecha: 16 de agosto
Más detallesVirtualizacion de aplicaciones:
------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------
Más detallesDreamFactory, una aplicación que genera API REST a partir de un esquema de almacenamiento entre otras cosas.
DreamFactory, una aplicación que genera API REST a partir de un esquema de almacenamiento entre otras cosas. Laboratorio de Sistemas Operativos y Redes Profesor : José Luis Di Biase 2016 Universidad Nacional
Más detallesAcceso a una instancia de base de datos (RDS) desde ECS
TELEFÓNICA CLOUD Open Cloud Terraform Script Acceso a una instancia de base de datos (RDS) desde ECS Open Cloud_ TELEFÓNICA CLOUD Open Cloud Página 1 Contenido 1. Introducción... 3 2. Creación del escenario...
Más detallesInforme - Groove Basin
Informe - Groove Basin Universidad Nacional de Quilmes - Laboratorio de Redes y Sistemas Operativos Matias Zacarias, Javier Toledo Julio 2016 1 Introducción En este informe se documentará el proceso de
Más detallesCapacitación Tecnológica Científica para Bolivia. Contenedores Docker
Catecbol Capacitación Tecnológica Científica para Bolivia www.catecbol.com facebook.com/catecbol @catecbol catecbol@gmail.com Contenedores Docker Ronny Bazan Antequera Estados Unidos La unión es la fuerza
Más detallesChef en la UCLM. Unidad de Sistemas y Redes
Chef en la UCLM javier.ayllon@uclm.es Unidad de Sistemas y Redes Antecedentes Explosión del número de instancias Cloud privada Cloud pública El error al 99.9% es humano Operaciones Desarrolladores DevOps
Más detallesECOSISTEMAS SOFTWARE DE SOPORTE A LA INTEGRACIÓN CONTINUA
ECOSISTEMAS SOFTWARE DE SOPORTE A LA INTEGRACIÓN CONTINUA Eng. Abel Rosales Introducción Para dotar de las herramientas necesarias en un proyecto software, en general una organización dispone de las siguientes
Más detallesLinux Completo (Versión Ubuntu 9)
Descripción Sistema operativo Linux: Redes y Servidores Objetivos Al realizar este curso, el alumno adquirirá las siguientes habilidades y conocimientos: Instalar Linux en su equipo. Conocer las terminales
Más detallesComo instalar Linux, Apache, MySQL 5.5 y PHP 5.4 (LAMP) en Ubuntu 13.04
Como instalar Linux, Apache, MySQL 5.5 y PHP 5.4 (LAMP) en Ubuntu 13.04 El acrónimo LAMP se refiere a un stack compuesto por Linux, Apache, MySQL y PHP, y constituye actualmente la infraestructura web
Más detallesEjemplos DATEX II. Documento de compilación y ejecución. Carlos del Blanco Calderón (LISITT) David Torres Garrigós (LISITT)
Ejemplos DATEX II Documento de compilación y ejecución Carlos del Blanco Calderón (LISITT) David Torres Garrigós (LISITT) 1/8/2014 Índice General 1 INTRODUCCIÓN... 4 1.1 REQUISITOS PREVIOS... 4 2 COMPILACIÓN...
Más detallesManual de instalación Revisión: 03/10/17
Revisión: 03/10/17 - Professional Edition v 0.1.x Sumario 1 Introducción...2 2 Requisitos hardware...2 3 Requisitos...2 3.1 Java Development Kit...2 3.2 Eclipse...2 3.3 Apache Maven...3 4 Instalación...3
Más detallesMaven e IC. Maven, SonarQube, Artifactory y Jenkins
Maven e IC Maven, SonarQube, Artifactory y Jenkins Presentación Retos del Desarrollo SW Proyectos SW grandes y complejos Cada vez más interoperabilidad Muchos equipos de trabajo (remotos) Planificaciones
Más detalles1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...
Índice INTRODUCCIÓN...11 CAPÍTULO 1. EXPLOTACIÓN DE SISTEMAS MICROINFORMÁTICOS...13 1.1 La arquitectura de los ordenadores...14 1.1.1 La máquina de Turing...14 1.1.2 La arquitectura Harvard...15 1.1.3
Más detallesMª DOLORES CARBALLAR FALCÓN L
Mª DOLORES CARBALLAR FALCÓN 28935146L Nivel educativo al que va dirigido: El objetivo de esta práctica, es acercar los comandos más básicos para la manipulación de ficheros y directorios del Sistema Operativo
Más detallesEl Zen de git. Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR.
El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. El problema Al principio, sin sistemas de control de versiones,
Más detallesDemo contenedores HPC Admintech Valencia, Mayo Jesús Cuenca Senior HPC SIE
Demo contenedores HPC Admintech Valencia, Mayo 2018 Jesús Cuenca Senior HPC Consultant @ SIE Maquina virtual demo Maquina virtual demo Descargar MV: http://ip/d Demodocker.ova (Instalar Virtualbox) Importar
Más detallesManual de Instalación y Uso. Gengular: Hacia la automatización de aplicaciones empresariales bajo el paradigma de arquitectura SPA y el enfoque MDE
Gengular: Hacia la automatización de aplicaciones empresariales bajo el paradigma de arquitectura SPA y el enfoque MDE Pontificia Universidad Javeriana 2017 Versión 2.0 Universidad Javeriana, 2017 Página
Más detallesLinux Completo (Versión Ubuntu 9)
Linux Completo (Versión Ubuntu 9) Duración: 100.00 horas Descripción Sistema operativo Linux: Redes y Servidores Objetivos Al realizar este curso, el alumno adquirirá las siguientes habilidades y conocimientos:
Más detallesGESDES-Forms Manual de Instalación
Manual de Instalación GESDES-Forms GESDES-Forms Manual de Instalación Manual de Instalación GESDES-Forms Introducción Este Manual contiene las instrucciones de instalación y configuración del software
Más detallesComandos Básicos de Guadalinex
Comando Descripción Ejemplos y comentarios man comando Muestra el manual de un comando, útil para aprender a utilizar sus argumentos man man cd nom_directorio Cambia de directorio cd sólo va a tu home
Más detallesCARRERA DE CERTIFICACION LINUX REDHAT
CARRERA DE CERTIFICACION LINUX REDHAT Red Hat System Administration I DESCRIPCION MODULOS DE CAPACITACION 1. Iniciación al escritorio gráfico GNOME Objetivo: iniciarse en GNOME y editar archivos de texto
Más detallesIntegración de Toolchain sobre IDE gráfico basado en Eclipse
Integración de Toolchain sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto. Debug de una aplicación
Más detallesLaboratorio de sistemas y redes Asciinema
Laboratorio de sistemas y redes Asciinema Di Costanzo Marcelo, Perez Cesar, Ramos Martin. Profesor: Di Biase Jose Luis Julio, 2018 Indice 1. Historia. 2. Asciinema. 3. Instalación y uso de Asciinema. 4.
Más detallesSe pueden observar varios tipos de contenedores de Servlets:
2.7.1. Introducción. Tomcat es un contenedor de Servlets con un entorno JSP. Un contenedor de Servlets es un shell de ejecución que maneja e invoca servlets por cuenta del usuario. Tomcat es el servidor
Más detallesPráctica de laboratorio: Instalación de Linux en una máquina virtual y exploración de la GUI
Práctica de laboratorio: Instalación de Linux en una máquina virtual y exploración de la GUI Objetivos Parte 1: Preparar una computadora para la virtualización Parte 2: Instalar un sistema operativo Linux
Más detallesGenerador de ambiente de prueba para aplicaciones web
Generador de ambiente de prueba para aplicaciones web Said Ramírez Hernández sramirez at seguridad dot unam dot mx 14.02.2014 Objetivo Contar con la documentación que permita instalar y configurar de manera
Más detallesManual de Instalación y Configuración
openfwpa Internacional (01. ManualDeInstalaciónYConfiguración 2011) 2 de 9 ÍNDICE 1. CONTROL DEL DOCUMENTO... 3 1.1. Información general... 3 1.2. Histórico de revisiones... 3 1.3. del documento... 3 2.
Más detallesManual de instalación de Dspace para INDECOPI
Manual de instalación de Dspace para INDECOPI 1.Introducción El siguiente documento tiene como finalidad mostrar el proceso de instalación de Dspace para su uso como Repositorio Institucional de INDECOPI.
Más detallesMódulo Call Center. Guía de instalación v 1.2
Módulo Call Center Guía de instalación v 1.2 DINOMI Septiembre 2018 TABLA DE CONTENIDO CONFIGURACIÓN DE DINOMI... 4 PASO 1: INSTALACIÓN DE DINOMI... 4 PASO 2: CONEXIÓN A UN PBX EXTERNO... 8 CREACIÓN DE
Más detallesIntroducción n a Apache Tomcat 5.5
Departamento de Lenguajes escuela técnica superior de ingeniería informática Introducción n a Apache 5.5 Tiempo: 1h Grupo de Ingeniería a del Software Febrero 2007 2. Instalación n de directorios de Introducción
Más detallesUD2 Instalación y uso de
UD2 Instalación y uso de entornos de desarrollo Índice 1. Entornos de desarrollo 1.1. Introducción 1.2. Componentes 2. Instalación de entornos de desarrollo 2.1. Programación 2.2. Bases de datos 2.3. Otros
Más detallesPrácticas Hadoop: Instalación!
Prácticas Hadoop: Instalación En este curso de formación vamos a utilizar una máquina virtual que utiliza el HDP de Hortonworks para las prácticas de laboratorio. Para poder realizar los trabajos del curso,
Más detallesPaso 1. Instalar Apache
Tener instalado Ubuntu 14.04 Paso 1. Instalar Apache El servidor web Apache es actualmente el servidor web más popular en el mundo, lo que hace que sea una gran opción por defecto para alojar un sitio
Más detallesEl núcleo del sistema es la gestión de cambios. Es un mecanismo de comunicación donde el cambio es la unidad básica de información.
CONTROL DE VERSION. Un sistema de control de versión es una combinación de tecnología y prácticas para seguir y controlar los cambios que se realizan sobre un archivo o conjunto de archivos a lo largo
Más detallesControl de versiones con Subversion
Control de con Subversion Introducción Diseño de Sistemas de Información 2009/10 Control de MADS Group - Departamento de Computación Víctor M. Guĺıas (gulias@udc.es) David Cabrero (cabrero@udc.es) Laura
Más detallesLinux Completo (Version Ubuntu 9)
Linux Completo (Version Ubuntu 9) Área: Informática Modalidad: Teleformación Duración: 100 h Precio: Consultar Curso Bonificable Solicita información Añade al archivador Recomienda a un amigo OBJETIVOS
Más detallesCONFIGURACIÓN DEL SISTEMA.
ANEXO B CONFIGURACIÓN DEL SISTEMA. En este anexo, vamos a describir los pasos que se deben seguir para configurar el equipo, de modo que podamos trabajar con el kit que se ha utilizado, el Professional
Más detallesPre-requisitos para la instalación de Limesurvey
Pre-requisitos para la instalación de Limesurvey Limesurvey requiere algunos componentes para poder funcionar. Específicamente se necesitan Apache, MySQL, PHP (módulos IMAP y GD) y el soporte de MySQL
Más detallesInstalando Mass Agent para Grid Control
Instalando Mass Agent para Grid Control Documento generado por Para el sitio Índice 1. Introducción... 2 2. Pasos a seguir... 2 3. Referencias... 10 1. Introducción Cada vez que se requiere que Grid Control
Más detalles4.1 Introducción al continuous delivery + GitFlow
4.1 Introducción al continuous delivery + GitFlow Tema 4: Continuous delivery Valores del desarrollo ágil Valor del manifiesto ágil: Working software El proyecto crece incrementalmente, con un flujo continuo
Más detallesLa última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.
Manual de Dev-C++ 4.9.9.2 Página 1 de 11 Introducción Dev-C++ es un IDE (entorno de desarrollo integrado) que facilita herramientas para la creación y depuración de programas en C y en C++. Además, la
Más detallesProyecto: Evolución de Agenda Electrónica - SAE
Proyect Evolución de Agenda Entorno de Desarrollo 1.0 Plantill SS-SOFTFAC-TE-61-ES Códig 1 de 6 Proyect Evolución de Agenda 1 Introducción El siguiente documento es una guía para la instalación del entorno
Más detallesIAW - Práctica 1: LAMP Stack IES Celia Viñas (Almería) /2018
Índice general 1 Linux 3 1.1 Primeros pasos con: apt-get.............................. 3 1.2 Instalación de un GUI Desktop............................... 3 1.3 Instalación de un servidor SSH...............................
Más detallesLboratorio 4 Programación bajo plataformas abiertas IE-0117 Juan Luis Orozco Villalobos-B14801
Lboratorio 4 Programación bajo plataformas abiertas IE-0117 Juan Luis Orozco Villalobos-B14801 1.Observe el contenido de los directorios usados por init para los scripts de inicialización de servicios
Más detallesToda la información de instalación se puede encontrar en el fichero "install.log".
MAST STORAGE Instalación Linux 1. Descargue el archivo de instalación (obm-nix.tar.gz) y ejecútelo. 2. Descomprima el fichero de instalación en /usr/local/obm mkdir /usr/local/obm cd /usr/local/obm gunzip
Más detallesANDRES LEONEL CESPEDES SISTEMA OPERATIVO II
NOMBRE: MATERIA: DOCENTE: CARRERA: ANDRES LEONEL CESPEDES SISTEMA OPERATIVO II ING. DAVID MENDOZA ING. SISTEMA 29 de Noviembre de 2013 Es un Software que crea un entorno virtual entre el sistema operativo
Más detallesInstalación de Apache2, MySQL, PHP y PHPmyAdmin en Ubuntu
Instalación de Apache2, MySQL, PHP y PHPmyAdmin en Ubuntu eluvelinux 22 de septiembre de 2008 Resumen Instalación de las herramientas necesaria para crear un servidor basado en apache2 con soporte php
Más detallesSISTAM Ingeniería. DOCUMENTO Manual de Instalación y Configuración SISTEMA HC Página 1 de 5 INFORMATICA FECHA 27/08/2013 INDICE
SISTEMA HC Página 1 de 5 INDICE 1. IDENTIFICACIÓN DEL PROYECTO/APLICACIÓN 2 2. AMBIENTE DE INSTALACIÓN 2 3. IDENTIFICACIÓN DE AMBIENTE DE INSTALACIÓN: 2 4. REQUERIMIENTOS DE HARDWARE 2 5. HERRAMIENTAS
Más detallesEjercicios. Invocación de Servicios Web SOAP
Ejercicios. Invocación de Servicios Web SOAP Índice 1 Repositorio Mercurial para los ejercicios...2 2 Clientes para servicio web hola...2 3 Cliente para el servicio web Calculadora... 3 4 Cliente para
Más detallesDesarrollo de WordPress con Vagrant
Desarrollo de WordPress con Vagrant Yo digo Vagrán Opciones para desarrollo web 1. Soluciones locales all-in-one : ZEND Server, XAMPP, MAMP, WAMP... VENTAJAS Fácil Rápido Consume pocos recursos DESVENTAJAS
Más detallesINTEGRACIÓN CONTÍNUA CON HUDSON EN RUNT. 22/01/10 S lide 1
INTEGRACIÓN CONTÍNUA CON HUDSON EN RUNT www.heinsohn.com.co 22/01/10 S lide 1 AGENDA Breve Introducción. Instalación. Configuración de un proyecto básico. Plugins JUnit. Emma. FindBugs. SONAR. Hudson en
Más detallesPlataforma de Desarrollo de Software
Plataforma de Software Guía de introducción a la Plataforma de Desarrollo de Software Versión 1.10 Basado en plantilla: xxxxx - Plantilla básica v2.01 2014-02-07 Página 1 de 8 Control de cambios Fecha
Más detallesComenzando con Drupal 8 y colaborando con el proyecto
Comenzando con Drupal 8 y colaborando con el proyecto Ruben Teijeiro Lead Drupal Fronted Developer at Ericsson @buk0wsk1 Beltrán Rueda Bitnami Project Manager @beltranrubo Índice Instalando Bitnami Drupal
Más detallesLA GUÍA PARA PRINCIPIANTES DE. Instalación de QVD. QVD DOCUMENTATION
LA GUÍA PARA PRINCIPIANTES DE Instalación de QVD QVD DOCUMENTATION September 19, 2017 Guía rápida de instalación de QVD en Linux Ubuntu i Contents 1 Requisitos 1 1.1 Base de
Más detallesReplicación de datos en MySQL
Replicación de datos en MySQL Mantén activa tu aplicación web ante un fallo en los servidores Introducción Hoy en día, muchos negocios dependen del buen funcionamiento de sus aplicaciones web en Internet,
Más detalles