82
Strider CD Deploy Contínuo com Javascript Renato Vasconcellos / Sebastian Ferrari [email protected] / [email protected]

Strider CD - Deploy Contínuo com JavaScript

  • Upload
    taller

  • View
    508

  • Download
    1

Embed Size (px)

DESCRIPTION

Esta palestra pretende apresentar boas práticas para Continuous Deployment e como o Strider CD, um servidor de Continuous Integration e Continuous Deployment em NodeJS, nos ajuda muito neste processo. Serão abordados tópicos como Integração contínua, Deploy contínuo, Git, Workflow de trabalho, TDD/BDD e onde o Strider facilita a implementação destas práticas para Entrega Contínua

Citation preview

Page 1: Strider CD -  Deploy Contínuo com JavaScript

Strider CDDeploy Contínuo com Javascript

Renato Vasconcellos / Sebastian Ferrari

[email protected] / [email protected]

Page 2: Strider CD -  Deploy Contínuo com JavaScript

O que vamos ver

nesta apresentação?

Page 3: Strider CD -  Deploy Contínuo com JavaScript

Assuntos:

● O que é Deploy

Contínuo

● Conceitos básicos

● Ferramentas

● Otimização do Processo

● O que é Strider CD?

● Conceitos básicos

● Exemplos práticos

Page 4: Strider CD -  Deploy Contínuo com JavaScript

O que é Deploy?

Page 5: Strider CD -  Deploy Contínuo com JavaScript

Colocação de

equipamentos e

tropas no campo de

batalha.

webopedia.com

Page 6: Strider CD -  Deploy Contínuo com JavaScript

Instalar, testar e

implementar uma

aplicação ou sistema

de computador.

webopedia.com

Page 7: Strider CD -  Deploy Contínuo com JavaScript

Contínuous Integration?

Contínuous Delivery?

Contínuous

Deployment?

Page 8: Strider CD -  Deploy Contínuo com JavaScript

Continuous Integration

Page 9: Strider CD -  Deploy Contínuo com JavaScript

Integrar seu código

constantemente com

dos outros do time.

Page 10: Strider CD -  Deploy Contínuo com JavaScript

Continuous Delivery

Page 11: Strider CD -  Deploy Contínuo com JavaScript

Disponibilizar seu código

constantemente para

revisão do time ou do

cliente.

Page 12: Strider CD -  Deploy Contínuo com JavaScript

Continuous

Deployment

Page 13: Strider CD -  Deploy Contínuo com JavaScript

Entregar seu código

constantemente direto para

o cliente.

Page 14: Strider CD -  Deploy Contínuo com JavaScript

Deploy Contínuo

em 5 passos

http://lb.cm/dploy5stpsEric Ries - O'Reilly Radar

Page 15: Strider CD -  Deploy Contínuo com JavaScript

CI Server(Servidor de Integração contínua)

Page 16: Strider CD -  Deploy Contínuo com JavaScript

Source control

commit check(Checagem de commits)

Page 17: Strider CD -  Deploy Contínuo com JavaScript

Simple

deployment

script(Script de deploy simples)

Page 18: Strider CD -  Deploy Contínuo com JavaScript

Real-time alerting(Alerta em tempo real)

Page 19: Strider CD -  Deploy Contínuo com JavaScript

Root cause analysis

(five whys)(Análise da raíz do problema - 5 porquês)

Page 20: Strider CD -  Deploy Contínuo com JavaScript

Ferramentas

Page 21: Strider CD -  Deploy Contínuo com JavaScript

Scripts

Page 22: Strider CD -  Deploy Contínuo com JavaScript

Git

Page 23: Strider CD -  Deploy Contínuo com JavaScript

Testes

Page 24: Strider CD -  Deploy Contínuo com JavaScript

CI/CD Server

Page 25: Strider CD -  Deploy Contínuo com JavaScript

Por onde começar?

Image by Jalel

Page 26: Strider CD -  Deploy Contínuo com JavaScript

Workflow de

Desenvolvimento

(Ambientes)

Page 27: Strider CD -  Deploy Contínuo com JavaScript

Ambientes de

Desevolvimento/Integração

Page 28: Strider CD -  Deploy Contínuo com JavaScript

Ambientes de

QA/UAT

Page 29: Strider CD -  Deploy Contínuo com JavaScript

Ambientes de

Staging/Produção

Page 30: Strider CD -  Deploy Contínuo com JavaScript

Recapitulando...

http://dltj.org/article/software-development-

practice/

● Local/Dev

● Integração

● Test/QA

● Homolog/UAT

● Staging

● Production

Page 31: Strider CD -  Deploy Contínuo com JavaScript
Page 32: Strider CD -  Deploy Contínuo com JavaScript

Git Workflow

https://www.atlassian.com/git/workflows

Page 33: Strider CD -  Deploy Contínuo com JavaScript

Centralized

workflow

Page 34: Strider CD -  Deploy Contínuo com JavaScript

Feature branch

workflow

Page 35: Strider CD -  Deploy Contínuo com JavaScript

Git flow

workflow

Page 36: Strider CD -  Deploy Contínuo com JavaScript

Forking

workflow

Page 37: Strider CD -  Deploy Contínuo com JavaScript

A successful

git branch model?

Vincent Driessenhttp://nvie.com/posts/a-successful-git-branching-model

Page 38: Strider CD -  Deploy Contínuo com JavaScript

Git flow

Workflow

Page 39: Strider CD -  Deploy Contínuo com JavaScript

Git flow

Workflow

Git flowhttps://github.com/nvie/gitflow

Git flow cheatsheethttp://danielkummer.github.io/git-flow-cheatsheet/

Page 40: Strider CD -  Deploy Contínuo com JavaScript

.git/Hooks

Page 41: Strider CD -  Deploy Contínuo com JavaScript

Client Side

Page 42: Strider CD -  Deploy Contínuo com JavaScript

Post

Checkout

● Testes automatizados

● Branch quebrado?

Page 43: Strider CD -  Deploy Contínuo com JavaScript

Pre

Commit

● Análise estática (Lint)

● Testes automatizados

Page 44: Strider CD -  Deploy Contínuo com JavaScript

Server Side

Page 45: Strider CD -  Deploy Contínuo com JavaScript

Pre

Receive

● Análise estática (Lint)

● Testes automatizados

● Proteção de branches

Page 46: Strider CD -  Deploy Contínuo com JavaScript

Post

Receive

● Notificações

● Testes de carga

Page 47: Strider CD -  Deploy Contínuo com JavaScript

Testes

Page 48: Strider CD -  Deploy Contínuo com JavaScript

Testes automatizados

dão maior segurança e

garantia de evolução

contínua.

Page 49: Strider CD -  Deploy Contínuo com JavaScript

Joseph Yodelhttp://www.slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012

Page 50: Strider CD -  Deploy Contínuo com JavaScript

Joseph Yodelhttp://www.slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012

Page 51: Strider CD -  Deploy Contínuo com JavaScript

Joseph Yodelhttp://www.slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012

Page 52: Strider CD -  Deploy Contínuo com JavaScript
Page 53: Strider CD -  Deploy Contínuo com JavaScript
Page 54: Strider CD -  Deploy Contínuo com JavaScript

Top features

Page 55: Strider CD -  Deploy Contínuo com JavaScript

Simples e fácil

Page 56: Strider CD -  Deploy Contínuo com JavaScript

“Everything should be

made as simple as

possible, but not

simpler”

Albert Einstein

Page 57: Strider CD -  Deploy Contínuo com JavaScript

Concorrente

s

● Jenkins

● CircleCI

● Codeship

● Beanstalk

● Travis CI

● Go

Page 58: Strider CD -  Deploy Contínuo com JavaScript

Sistema de plugins

Page 59: Strider CD -  Deploy Contínuo com JavaScript
Page 60: Strider CD -  Deploy Contínuo com JavaScript

RunnersRoda os jobs.

● Simple

● Docker

● Remote

● ...

Page 61: Strider CD -  Deploy Contínuo com JavaScript

ProvidersPega o código fonte.

● Github

● BitBucket

● Manual Git (ou seja,

outros…)

● ...

Page 62: Strider CD -  Deploy Contínuo com JavaScript

JobsExecuta tarefas em fases.

● Environment

● Prepare

● Test

● Deploy

● Cleanup

Page 63: Strider CD -  Deploy Contínuo com JavaScript

Worker vs. WebApp

Page 64: Strider CD -  Deploy Contínuo com JavaScript

Worker

Registro dos jobs para

serem executados.

Page 65: Strider CD -  Deploy Contínuo com JavaScript

WebApp

Implementação para

modificação do UI.

Ex.: Página de config

Page 66: Strider CD -  Deploy Contínuo com JavaScript

Basic

Go nuts!! \o/

Faz o que você quiser,

mas esquece dos

helpers.

Page 67: Strider CD -  Deploy Contínuo com JavaScript

Controle de

jobs distribuídos

Page 68: Strider CD -  Deploy Contínuo com JavaScript

Drone Queen

Page 69: Strider CD -  Deploy Contínuo com JavaScript

Queen

● Servidor

● Load

ballancing

● Queue

● Cria os drones

Page 70: Strider CD -  Deploy Contínuo com JavaScript

Drone

● Velocidade

● Capacidade

● Executa os

Jobs

Page 71: Strider CD -  Deploy Contínuo com JavaScript
Page 72: Strider CD -  Deploy Contínuo com JavaScript

Sistema de

usuários

Page 73: Strider CD -  Deploy Contínuo com JavaScript

● Admin ou leitura

● Repositórios

públicos

● Sistema de convites

● Colaborador do

projeto

Page 74: Strider CD -  Deploy Contínuo com JavaScript

Deploy on Green

Page 75: Strider CD -  Deploy Contínuo com JavaScript

Open Source(não é livre, ainda...)

Page 76: Strider CD -  Deploy Contínuo com JavaScript

Dashboard

Page 77: Strider CD -  Deploy Contínuo com JavaScript
Page 78: Strider CD -  Deploy Contínuo com JavaScript

Build

Page 79: Strider CD -  Deploy Contínuo com JavaScript
Page 80: Strider CD -  Deploy Contínuo com JavaScript

Configurações

Page 81: Strider CD -  Deploy Contínuo com JavaScript
Page 82: Strider CD -  Deploy Contínuo com JavaScript

Valeu !!!

@revagomes

[email protected]

github.com/revagomes

about.me/revagomes

@sebas5384

[email protected]

github.com/sebas538

4