Slide 1

Slide 1 text

Processo de Desenvolvimento FrontEnd... do Caos... ...ao Sublime

Slide 2

Slide 2 text

TerraBrazilJS RSJSFrontInPoa HTML5JavaScript

Slide 3

Slide 3 text

O mundo muda.

Slide 4

Slide 4 text

Evoluímos.

Slide 5

Slide 5 text

Tipos de evolução

Slide 6

Slide 6 text

Biológica/Genética

Slide 7

Slide 7 text

Red-Lipped Batfish

Slide 8

Slide 8 text

Wolffish

Slide 9

Slide 9 text

Long-nosed monkey

Slide 10

Slide 10 text

WTF EVOLUTION! http://wtfevolution.tumblr.com/

Slide 11

Slide 11 text

Cultural

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

http://jaydson.org/cultura-maldita- no-desenvolvimento-de-software/

Slide 15

Slide 15 text

Vira-lata

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Tecnológica

Slide 18

Slide 18 text

Ferramentas de pedra e metal

Slide 19

Slide 19 text

Eletricidade

Slide 20

Slide 20 text

Web

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

- Mudança - Evolução - Simetria

Slide 24

Slide 24 text

JavaScript Incompreendido

Slide 25

Slide 25 text

JavaScript é a linguagem mais popular no Github

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

* Dev recebia a spec e não tinha um lugar padrão para armazenar os artefatos * Não existia um meio fácil de pesquisa por projetos

Slide 30

Slide 30 text

* Baixa o projeto inteiro via ~SVN~ para a sua máquina * Os testes eram integrados em um único branch compartilhado * Não existia versionamento adequado para feature/bugfix

Slide 31

Slide 31 text

* Ferramentas e serviços associados ao ambiente usavam a base de produção * Ambiente de desenvolvimento não era compatível com produção

Slide 32

Slide 32 text

* Risco de publicar em produção código alheio ainda em fase de testes

Slide 33

Slide 33 text

* O processo de publicação em produção era manual e arriscado (limpar cache, arquivo por arquivo)

Slide 34

Slide 34 text

* Não existia registro histórico relacionado ao projeto (issues/código/docs) * Não existia controle de permissões por projeto

Slide 35

Slide 35 text

* Excesso de retrabalho * !QA

Slide 36

Slide 36 text

~600MB de arquivos estáticos no projeto Portal ~SVN~ HLG *.wtf

Slide 37

Slide 37 text

~400MB de arquivos estáticos no projeto Portal ~SVN~ PRD *.js, *.css, (alguns html’s), *.png, *.jpg, *.swf

Slide 38

Slide 38 text

Plataforma de Desenvolvimento FrontEnd

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

* Descentralizado * Branches * Rápido pra caralho

Slide 41

Slide 41 text

Ambiente perfil FrontEnd http://dsv-fe01.tpn.terra.com/

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

~400MB de arquivos estáticos no projeto Portal ~GIT~ MASTER *.js, *.css, (alguns html’s), *.png, *.jpg, *.swf

Slide 44

Slide 44 text

*

Slide 45

Slide 45 text

*

Slide 46

Slide 46 text

DSV FE * Os testes são integrados em uma única branch compartilhada

Slide 47

Slide 47 text

* Ambiente de desenvolvimento não é compatível com produção DSV FE

Slide 48

Slide 48 text

Ambiente de testes

Slide 49

Slide 49 text

http://dsv-fe01.tpn.terra.com/~jaydson.gomes/

Slide 50

Slide 50 text

Branch-Homologation: http://atm.sprint1.hlg-fe.tpn.terra.com/ [Projeto] [Branch] [Host]

Slide 51

Slide 51 text

Preview: http://preview-fe.tpn.terra.com/

Slide 52

Slide 52 text

Integração CMS: http://[URL]?internaltest=1&environment=hlg&branch=foo [URL] [Ambiente] [Branch]

Slide 53

Slide 53 text

Integração CMS: http://[URL]?internaltest=1&environment=preview [URL] [Ambiente] * Pull-requests integrados

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

Issue Tracker Gestão de Código Integração Repo/Docs/Auth Timeline Pull-requests Search Engine Human Interface

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

No content

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

No content

Slide 61

Slide 61 text

Deploy

Slide 62

Slide 62 text

+ Bottr Jenkins

Slide 63

Slide 63 text

Faz merge dos pull- requests do dia anterior com a master branch 8:00 > Job Merger 14:00 > Job Merger Disponibiliza o ~produto~ do merge dos pull-requests em preview Job Deployer faz push no frontend-deploy Elenca pull-requests do dia atual

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

Obrigado!

Slide 67

Slide 67 text

No content