#nerdearla
Buenos Aires, 2015
whoami
oficio: sysadmin
IRC: osvaldo at freenode #sysarmy
como era el desarrollo
Documentation:
JIRA Issues - code commits with jira_id on subject
tareas:
como era el deployment
Cada 15 dias
08:00 Arrancaba el deploy
...
terminaba cuando terminaba
como eran los releases
Developers -> commit code in SVN
Release Team -> Push/Tag Code -> Deploy Code
Coordinación via: IRC
Problemas
Departamento de Infrastructura
Release Team
Estas haciendo continuous delivery cuando:
Para lograr continuous delivery usted necesita:
Continuous Delivery se confunde a menudo con Continuous Deployment.
Continuous Deployment significa que cada cambio entra en el pipeline y automáticamente llega a producción, resultando muchos deployments a producción a diario.
Continuous Delivery solo significa que tienes la capacidad para hacer deploys frecuentes pero puedes elegir no hacerlos.
Continuous Integration se refiere por lo general a la capacidad de integrar, buildear y testear el código dentro de un ambiente de desarrollo.
aka
Ventajas
solucion:
objetivos
logros
primer pipeline: la prueba de concepto fue un exito
objetivos
logros
objetivos
logros
facilitando los deploys
logging
metricas
repositories
monitoreo
source code versioning
automatizacion
server CI
Bots
Integracion
# check artifacts - Check artifacts versions in environment (available and deployed)
exec = require('child_process').exec;
module.exports = (robot)->
robot.respond /check (.*)/i, (msg) ->
env = msg.match[1]
switch env
when "prod"
#server = "repos2-mng"
server = "online-main-nms"
script="ssh "+server+" /usr/local/acme/bin/check-artifacts-servers.sh"
else
#server = "testing-repos2"
server = "staging-nms"
env = "stage"
script="ssh "+server+" /usr/local/acme/bin/check-artifacts-servers.sh"
console.log(script)
child = exec script, (error,stdout,stderr) ->
msg.send "artifacts in "+env+"\n" + stdout + "\n" + stderrCODE for hubot check prod
web panel
arquitectura modular
multi-ambiente
paquetes nativos
infrastructure as code: xcdc
use markdown
gists