Maven 3, Sonar e Hudson

3,497 views
3,356 views

Published on

Nesta palestra vamos abordar formas de criar um ambiente de desenvolvimento de software mais ágil por meio da utilização e integração das ferramentas Maven 3, Sonar e Hudson. Com isso é possível estímular a eliminação de atividades repetitivas dentro do processo de desenvolvimento além de auxiliar na redução de defeitos e aumentar a qualidade do código produzido. A palestra é montada em ferramentas feitas para a plataforma Java.

Published in: Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,497
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
0
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide
  • Desmistificando o Charset
  • Palestralivre – Podemcopiarem http://www.slideshare.net/rodrigobranas
  • Falammuitoem Agile, mas o queé de fatoé Agile? Porque Agile? O que as empresaspretendemquandobuscam o Agile?
  • Seráque no fundonãoéisso? Ágil = Fazerrápido?
  • Normalmente, as empresascomeçamseuprocesso de transformaçãopelaárea de gestão: Scrum. Se possível, nemenvolve o time de desenvolvimento. Étudoumaquestão de gestão de projetos.
  • Batendonaárvore com a serraelétrica
  • Existeumagrandetendência de continuarfazendo a mesmacoisa, utilizando post-its e quadrosnaparede
  • As pessoascomeçampela parte maisidiota! Gestão de Projetos. Existe um grandeproblemaacima, estratégia. E um problemamaioraindaabaixo, software! Seráque o queestá no meioésuficiente?
  • Toyota Production System
  • Hanseiéter um comportamentohumilde e o Kaizené a melhoriacontínua
  • Circulo de Ohno
  • Processo de desenvolvimentopodeserumagrandefonte de desperdício
  • No desenvolvimento de software o trabalhobraçalaindaégrande
  • Tipos de desperdício: Necessário e Puro
  • Gostaria de um exemplo de desperdíciopuro, ouseja, aquelequevocêpoderiaencontraruma forma de evitar, mas no dia a diaacabanãofazendo?
  • Velocidadeaumentaconformeosdesperdíciosvãosendoeliminados
  • Quanto tempo poderiasereconomizado se reduzissemos o tempo necessárioparaexecutartodasessasatividades?
  • Versionamento
  • A importância do versionamento
  • Emqualversãoseuprojeto se encontraatualmente?
  • Estratégias de numeração
  • A árvore do SVN: Trunk, Tag e Branch
  • Temos um desafio!
  • Maven 3
  • Quempode me dizer o queé?
  • Maven é umgerenciador de configuração do projeto. Neleestãoconcentradas as informaçõesreferentesaoempacotamento, dependências, testes, perfis e deployment.
  • Instalaçãoem 4 passos: DDDD
  • Surgimento da tabelaASCII em 1963. Falar um poucosobre a história
  • Surgimento da tabelaASCII em 1963. Falar um poucosobre a história
  • Surgimento da tabelaASCII em 1963. Falar um poucosobre a história
  • Surgimento da tabelaASCII em 1963. Falar um poucosobre a história
  • Surgimento da tabelaASCII em 1963. Falar um poucosobre a história
  • Digite: mvn –version
  • Criandoseuprimeiroprojeto
  • Como vocêsfazemparacriar um projeto novo em Java? E se eutedisserque o Maven criaprojetospormeio de um mecanismoautomático?
  • Archetypes
  • mvnarchetype:generate
  • Escopo das dependências
  • Estrutura de diretórios
  • Estrutura de diretórios
  • Como vocêestruturaosdiretórios do seuprojeto? Existemdiferençasdentro de umamesmaequipe?
  • Project Object Model – POM.xml
  • Centralizatodas as configurações do projetocomotipo de empacotamento, dependências,compilação e versionamento.
  • Gestão de dependências
  • Onde as dependênciasficamarmazenadas?
  • Conceito de repositório
  • Repositório Local
  • Como incluirouatualizardependências no projeto? POM.xml
  • Escopo das dependências
  • Escopo das dependências
  • Ciclo de vida
  • Ciclo de vida
  • Ciclo de vida
  • Ciclo de vida
  • Ciclo de vida
  • Ciclo de vida
  • Ciclo de vida
  • Ciclo de vida
  • Ciclo de vida
  • Quemutiliza?
  • Instalaçãoem 4 passos: DDDD
  • Sonar
  • Qualé o problema com a qualidade do código?
  • Ciclo de vida
  • Instalaçãoem 4 passos: DDDD
  • Instalaçãoem 4 passos: DDDD
  • Maven 3, Sonar e Hudson

    1. 1. Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.brDescobrindo uma maneira mais ágil dedesenvolver software com Maven 3, Sonar e Hudson
    2. 2. http://www.slideshare.net/rodrigobranas
    3. 3. @rodrigobranas rodrigo.branas@gmail.com http://www.agilecode.com.brFormação AcadêmicaCiências da Computação – UFSCGerenciamento de Projetos - FGVCertificaçõesSCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM
    4. 4. Rodrigo Branas – rodrigo.branas@gmail.com10 anos de experiência na plataforma Java1000 horas em sala de aulaMais de 50 palestras em eventosLíder da área de desenvolvimento na GenneraAutor da revista Java MagazinePalestranteInstrutor da Academia Java e Agile da GlobalcodeCriador dos treinamentos de Clean Code, Selenium eMaven da Agile CodeTrabalhou com as empresas: EDS, HP, GM, Citibank,OnCast, Globalcode, V.Office, Dígitro, Softplan, Unimed,Suntech, Vale do Rio Doce, Senai, NET.
    5. 5. Por que Agile?
    6. 6. No fundo não é isso que se espera?
    7. 7. Só Scrum não basta...
    8. 8. Hansei e Kaizen
    9. 9. Círculo de Ohno
    10. 10. Processo de desenvolvimento pode ser uma fonte de desperdício...
    11. 11. Trabalho braçal ainda é grande
    12. 12. Vamos diferenciar desperdício necessário e puro
    13. 13. Alguém tem algum exemplo?
    14. 14. Se sente pesado?
    15. 15. Desperdícios purosAtividades que poderiam ser reduzidas ou eliminadas
    16. 16. Desperdícios purosAtividades que poderiam ser reduzidas ou eliminadas• Configurar o projeto em uma maquina nova, em quanto tempo estamos prontos para desenvolver?
    17. 17. Desperdícios purosAtividades que poderiam ser reduzidas ou eliminadas• Configurar o projeto em uma maquina nova, em quanto tempo estamos prontos para desenvolver?• Modificar a versão de uma biblioteca
    18. 18. Desperdícios purosAtividades que poderiam ser reduzidas ou eliminadas• Configurar o projeto em uma maquina nova, em quanto tempo estamos prontos para desenvolver?• Modificar a versão de uma biblioteca• Gerar uma versão da aplicação para ser colocada em produção
    19. 19. Desperdícios purosAtividades que poderiam ser reduzidas ou eliminadas• Configurar o projeto em uma maquina nova, em quanto tempo estamos prontos para desenvolver?• Modificar a versão de uma biblioteca• Gerar uma versão da aplicação para ser colocada em produção• Transferência de conhecimento
    20. 20. Desperdícios purosAtividades que poderiam ser reduzidas ou eliminadas• Configurar o projeto em uma maquina nova, em quanto tempo estamos prontos para desenvolver?• Modificar a versão de uma biblioteca• Gerar uma versão da aplicação para ser colocada em produção• Transferência de conhecimento• Deu problema! É fácil voltar a versão?
    21. 21. Desperdícios purosAtividades que poderiam ser reduzidas ou eliminadas• Configurar o projeto em uma maquina nova, em quanto tempo estamos prontos para desenvolver?• Modificar a versão de uma biblioteca• Gerar uma versão da aplicação para ser colocada em produção• Transferência de conhecimento• Deu problema! É fácil voltar a versão?• Entender código ruim
    22. 22. Desperdícios purosAtividades que poderiam ser reduzidas ou eliminadas• Configurar o projeto em uma maquina nova, em quanto tempo estamos prontos para desenvolver?• Modificar a versão de uma biblioteca• Gerar uma versão da aplicação para ser colocada em produção• Transferência de conhecimento• Deu problema! É fácil voltar a versão?• Entender código ruim• Corrigir bugs
    23. 23. Pair Programming
    24. 24. Piloto + Copiloto
    25. 25. Será que a velocidade do projeto será reduzida?
    26. 26. Onde está o gargalo nodesenvolvimento de software?
    27. 27. Não somos digitadores
    28. 28. Vantagens do Pair Programming: Código de melhor qualidade
    29. 29. Vantagens do Pair Programming: Código de melhor qualidade Aumento do foco
    30. 30. Vantagens do Pair Programming: Código de melhor qualidade Aumento do foco Disseminação de conhecimento na equipe
    31. 31. Vantagens do Pair Programming: Código de melhor qualidade Aumento do foco Disseminação de conhecimento na equipe Melhora na produtividade
    32. 32. É obrigatório trabalhar em par durante todo o dia?
    33. 33. Técnica do Pomodoro!
    34. 34. Escolha a tarefa
    35. 35. Acerte o seu Pomodoro para 25 minutos
    36. 36. Trabalhe até o fim do Pomodoro
    37. 37. Faça um intervalo de 5 minutos
    38. 38. A cada 4 Pomodoros faça umintervalo longo de 15 a 20 minutos
    39. 39. A importância da rotação dos pares
    40. 40. Monte um ambiente híbrido para facilitar o pair programming!
    41. 41. Versionamento
    42. 42. Deu problema! Volta a versão...
    43. 43. Em que versão seu projeto está atualmente?
    44. 44. Estratégia de numeração
    45. 45. A árvore do SVN
    46. 46. Aceitam um desafio?
    47. 47. Em 10 minutos!
    48. 48. Gerenciamento de configuração do seu projeto
    49. 49. MavenGerenciamento de configuração do seu projeto
    50. 50. MavenGerenciamento de configuração do seu projeto Compilação o código fonte
    51. 51. MavenGerenciamento de configuração do seu projeto Compilação o código fonte Compilar e executar os códigos de testes
    52. 52. MavenGerenciamento de configuração do seu projeto Compilação o código fonte Compilar e executar os códigos de testes Empacotar o projeto para distribuição
    53. 53. MavenGerenciamento de configuração do seu projeto Compilação o código fonte Compilar e executar os códigos de testes Empacotar o projeto para distribuição Realizar a gestão de dependências
    54. 54. MavenGerenciamento de configuração do seu projeto Compilação o código fonte Compilar e executar os códigos de testes Empacotar o projeto para distribuição Realizar a gestão de dependências Versionamento em diferentes SCM’s
    55. 55. MavenGerenciamento de configuração do seu projeto Compilação o código fonte Compilar e executar os códigos de testes Empacotar o projeto para distribuição Realizar a gestão de dependências Versionamento em diferentes SCM’sDeployment em diversos servidores de aplicação
    56. 56. Maven Gerenciamento de configuração do seu projeto Compilação o código fonte Compilar e executar os códigos de testes Empacotar o projeto para distribuição Realizar a gestão de dependências Versionamento em diferentes SCM’s Deployment em diversos servidores de aplicaçãoGeração de documentação (parecido com uma wiki)
    57. 57. Maven Gerenciamento de configuração do seu projeto Compilação o código fonte Compilar e executar os códigos de testes Empacotar o projeto para distribuição Realizar a gestão de dependências Versionamento em diferentes SCM’s Deployment em diversos servidores de aplicaçãoGeração de documentação (parecido com uma wiki) Verificar a qualidade do seu código
    58. 58. O céu é o limite!
    59. 59. Processo de instalação da ferramenta
    60. 60. MavenProcesso de Instalação
    61. 61. Maven Processo de InstalaçãoDownload em http://maven.apache.org
    62. 62. Maven Processo de InstalaçãoDownload em http://maven.apache.org Descompactar a ferramenta
    63. 63. Maven Processo de Instalação Download em http://maven.apache.org Descompactar a ferramentaDefinir a variável de ambiente M2_HOME apontando para o diretório de instalação
    64. 64. Maven Processo de Instalação Download em http://maven.apache.org Descompactar a ferramentaDefinir a variável de ambiente M2_HOME apontando para o diretório de instalação Atualizar a variável de ambiente PATH apontando para o diretório M2_HOME/bin
    65. 65. mvn --version
    66. 66. Criando seu primeiro projeto
    67. 67. Archetypes
    68. 68. mvn archetype:generate
    69. 69. MavenCriando seu primeiro projeto
    70. 70. MavenCriando seu primeiro projeto mvn archetype:generate
    71. 71. MavenCriando seu primeiro projeto mvn archetype:generateEscolhar um tipo de projeto
    72. 72. Maven Criando seu primeiro projeto mvn archetype:generate Escolhar um tipo de projetoDefinir as 3 informações fundamentais que identificamum artefato no Maven, como se fosse uma certidão de nascimento
    73. 73. Quem é você?
    74. 74. Maven3 informações fundamentais
    75. 75. Maven 3 informações fundamentaisgroupId: identificação relacionada a empresa ouorganização desenvolvedora do artefato. Essainformação vai gerar a estrutura de pacote.
    76. 76. Maven 3 informações fundamentaisgroupId: identificação relacionada a empresa ouorganização desenvolvedora do artefato. Essainformação vai gerar a estrutura de pacote.artifactId: identificação do artefato
    77. 77. Maven 3 informações fundamentaisgroupId: identificação relacionada a empresa ouorganização desenvolvedora do artefato. Essainformação vai gerar a estrutura de pacote.artifactId: identificação do artefatoversion: versão do artefato
    78. 78. mvn eclipse:eclipse
    79. 79. Estrutura de diretórios
    80. 80. Promovendo a padronização
    81. 81. MavenEstrutura de diretórios
    82. 82. Maven Estrutura de diretóriossrc/main/java: Onde fica todo o código fonte
    83. 83. Maven Estrutura de diretóriossrc/main/java: Onde fica todo o código fontesrc/main/resources: Arquivos de configuração
    84. 84. Maven Estrutura de diretóriossrc/main/java: Onde fica todo o código fontesrc/main/resources: Arquivos de configuraçãosrc/main/webapp: Estrutura Web
    85. 85. Maven Estrutura de diretóriossrc/main/java: Onde fica todo o código fontesrc/main/resources: Arquivos de configuraçãosrc/main/webapp: Estrutura Websrc/test/java: Onde fica todo o código de teste
    86. 86. Maven Estrutura de diretóriossrc/main/java: Onde fica todo o código fontesrc/main/resources: Arquivos de configuraçãosrc/main/webapp: Estrutura Websrc/test/java: Onde fica todo o código de testesrc/test/resources: Arquivos de configuração
    87. 87. Maven Estrutura de diretóriossrc/main/java: Onde fica todo o código fontesrc/main/resources: Arquivos de configuraçãosrc/main/webapp: Estrutura Websrc/test/java: Onde fica todo o código de testesrc/test/resources: Arquivos de configuraçãosrc/site: Arquivos de documentação
    88. 88. Maven Estrutura de diretóriossrc/main/java: Onde fica todo o código fontesrc/main/resources: Arquivos de configuraçãosrc/main/webapp: Estrutura Websrc/test/java: Onde fica todo o código de testesrc/test/resources: Arquivos de configuraçãosrc/site: Arquivos de documentaçãotarget: Pacotes gerados e fontes compilados
    89. 89. Coração do projeto – POM.xml
    90. 90. Centraliza todas as configurações
    91. 91. Arquivo pom.xml1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. </project>
    92. 92. Gestão de Dependências
    93. 93. Aonde ficam armazenadas as dependências?
    94. 94. Entendendo os repositórios
    95. 95. Quero incluir uma novadependência no projeto
    96. 96. Arquivo pom.xml1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. </project>
    97. 97. Arquivo pom.xml1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <dependencies>7. </dependencies>8. </project>
    98. 98. Arquivo pom.xml1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <dependencies>7. <dependency>8. </dependency>9. </dependencies>10. </project>
    99. 99. Arquivo pom.xml1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <dependencies>7. <dependency>8. <groudId>org.seleniumhq.selenium</groupId>9. <artifactId>selenium-java</artifactId>10. <version>2.24.1</version>11. </dependency>12. </dependencies>13. </project>
    100. 100. mvn eclipse:eclipse
    101. 101. Escopo das dependências
    102. 102. MavenEscopo das dependências
    103. 103. Maven Escopo das dependênciasCompile: É o escopo padrão e será utilizado caso apropriedade não seja definida.
    104. 104. Maven Escopo das dependênciasCompile: É o escopo padrão e será utilizado caso apropriedade não seja definida.Test: Indica que a dependência estará disponívelapenas na compilação e execução dos testes.
    105. 105. Maven Escopo das dependênciasCompile: É o escopo padrão e será utilizado caso apropriedade não seja definida.Test: Indica que a dependência estará disponívelapenas na compilação e execução dos testes.Provided: A dependência estará disponível para acompilação mas não será empacotada.
    106. 106. Maven Escopo das dependênciasCompile: É o escopo padrão e será utilizado caso apropriedade não seja definida.Test: Indica que a dependência estará disponívelapenas na compilação e execução dos testes.Provided: A dependência estará disponível para acompilação mas não será empacotada.Runtime: A dependência estará disponível apenasem execução, não disponível para compilação.
    107. 107. Arquivo pom.xml1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <dependencies>7. <dependency>8. <groudId>org.seleniumhq.selenium</groupId>9. <artifactId>selenium-java</artifactId>10. <version>2.24.1</version>11. </dependency>12. </dependencies>13. </project>
    108. 108. Arquivo pom.xml1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <dependencies>7. <dependency>8. <groudId>org.seleniumhq.selenium</groupId>9. <artifactId>selenium-java</artifactId>10. <version>2.24.1</version>11. <scope>test</scope>12. </dependency>13. </dependencies>14. </project>
    109. 109. Ciclo de Vida
    110. 110. MavenCiclo de Vida
    111. 111. Maven Ciclo de Vidacompile: Compila o código fonte.
    112. 112. Maven Ciclo de Vidacompile: Compila o código fonte.test: Compila e executa os testes.
    113. 113. Maven Ciclo de Vidacompile: Compila o código fonte.test: Compila e executa os testes.package: Empacota o código fonte compilado noformato especificado.
    114. 114. Maven Ciclo de Vidacompile: Compila o código fonte.test: Compila e executa os testes.package: Empacota o código fonte compilado noformato especificado.install: Instala o projeto no repositório local
    115. 115. Maven Ciclo de Vidacompile: Compila o código fonte.test: Compila e executa os testes.package: Empacota o código fonte compilado noformato especificado.install: Instala o projeto no repositório local.deploy: Instala o projeto no repositório remoto.
    116. 116. Maven Ciclo de Vidacompile: Compila o código fonte.test: Compila e executa os testes.package: Empacota o código fonte compilado noformato especificado.install: Instala o projeto no repositório local.deploy: Instala o projeto no repositório remoto.clean: Apaga o diretório target
    117. 117. Maven Ciclo de Vidacompile: Compila o código fonte.test: Compila e executa os testes.package: Empacota o código fonte compilado noformato especificado.install: Instala o projeto no repositório local.deploy: Instala o projeto no repositório remoto.clean: Apaga o diretório targetsite: Gera a documentação do projeto
    118. 118. mvn clean package
    119. 119. Plugins
    120. 120. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. </project>
    121. 121. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. </build>8. </project>
    122. 122. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. <plugins>8. </plugins>9. </build>10. </project>
    123. 123. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. <plugins>8. <plugin>9. </plugin>10. </plugins>11. </build>12. </project>
    124. 124. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. <plugins>8. <plugin>9. <groupId>org.codehaus.mojo</groupId>10. <artifactId>jboss-maven-plugin</artifactId>11. <version>1.5.0</version>12. </plugin>13. </plugins>14. </build>15. </project>
    125. 125. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. <plugins>8. <plugin>9. <groupId>org.codehaus.mojo</groupId>10. <artifactId>jboss-maven-plugin</artifactId>11. <version>1.5.0</version>12. <configuration>13. </configuration>14. </plugin>15. </plugins>16. </build>17. </project>
    126. 126. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. <plugins>8. <plugin>9. <groupId>org.codehaus.mojo</groupId>10. <artifactId>jboss-maven-plugin</artifactId>11. <version>1.5.0</version>12. <configuration>13. <jbossHome>/usr/local/jboss</jbossHome>14. </configuration>15. </plugin>16. </plugins>17. </build>
    127. 127. Goals
    128. 128. mvn package jboss:hard-deploy
    129. 129. Profiles
    130. 130. Chaveamento de propriedades dentro do POM.xml
    131. 131. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. <plugins>8. <plugin>9. <groupId>org.codehaus.mojo</groupId>10. <artifactId>jboss-maven-plugin</artifactId>11. <version>1.5.0</version>12. <configuration>13. <jbossHome>/usr/local/jboss</jbossHome>14. </configuration>15. </plugin>16. </plugins>17. </build>
    132. 132. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. <plugins>8. <plugin>9. <groupId>org.codehaus.mojo</groupId>10. <artifactId>jboss-maven-plugin</artifactId>11. <version>1.5.0</version>12. <configuration>13. <jbossHome></jbossHome>14. </configuration>15. </plugin>16. </plugins>17. </build>
    133. 133. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <build>7. <plugins>8. <plugin>9. <groupId>org.codehaus.mojo</groupId>10. <artifactId>jboss-maven-plugin</artifactId>11. <version>1.5.0</version>12. <configuration>13. <jbossHome>${anything}</jbossHome>14. </configuration>15. </plugin>16. </plugins>17. </build>
    134. 134. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <profiles>7. </profiles>8. </project>
    135. 135. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <profiles>7. <profile>8. </profile>9. </profiles>10. </project>
    136. 136. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <profiles>7. <profile>8. <id>branas</id>9. </profile>10. </profiles>11. </project>
    137. 137. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <profiles>7. <profile>8. <id>branas</id>9. <properties>10. </properties>11. </profile>12. </profiles>13. </project>
    138. 138. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <profiles>7. <profile>8. <id>branas</id>9. <properties>10. <anything>/home/rodrigobranas/jboss</anything>11. </properties>12. </profile>13. </profiles>14. </project>
    139. 139. 1. <project>2. <modelVersion>4.0.0</modelVersion>3. <groupId>br.com.rodrigobranas</groudId>4. <artifactId>my-app</artifactId>5. <version>1.0</version>6. <profiles>7. <profile>8. <id>branas</id>9. <properties>10. <anything>/home/rodrigobranas/jboss</anything>11. </properties>12. </profile>13. <profile>14. <id>producao</id>15. <properties>16. <anything>/usr/local/jboss</anything>17. </properties>
    140. 140. mvn package jboss:hard-deploy -P branas
    141. 141. Integração Contínua
    142. 142. Evitando a síndrome do...
    143. 143. Hudson
    144. 144. Processo de instalação da ferramenta
    145. 145. HudsonProcesso de Instalação
    146. 146. Hudson Processo de InstalaçãoDownload em http://hudson-ci.org
    147. 147. Hudson Processo de Instalação Download em http://hudson-ci.orgRealizar o deploy do arquivo hudson.war em seu container web favorito
    148. 148. Hudson Processo de Instalação Download em http://hudson-ci.orgRealizar o deploy do arquivo hudson.war em seu container web favorito Acessar http://localhost:8080/hudson
    149. 149. HudsonCriando uma tarefa
    150. 150. Hudson Criando uma tarefaClicar em “Nova Tarefa”
    151. 151. Hudson Criando uma tarefaClicar em “Nova Tarefa”
    152. 152. Hudson Criando uma tarefa Clicar em “Nova Tarefa”Preencher o nome da tarefa
    153. 153. Hudson Criando uma tarefa Clicar em “Nova Tarefa”Preencher o nome da tarefa
    154. 154. Hudson Criando uma tarefa Clicar em “Nova Tarefa”Preencher o nome da tarefa Configurar a tarefa
    155. 155. Sonar
    156. 156. mvn sonar:sonar
    157. 157. Processo de instalação da ferramenta
    158. 158. SonarInstalação
    159. 159. Sonar Instalação Download emhttp://www.sonarsource.org/download.html
    160. 160. Sonar Instalação Download emhttp://www.sonarsource.org/download.html Descompactar no local de sua preferência
    161. 161. Sonar Instalação Download emhttp://www.sonarsource.org/download.html Descompactar no local de sua preferência Executar o Sonar.sh ou StartSonar.bat
    162. 162. Sonar Instalação Download emhttp://www.sonarsource.org/download.html Descompactar no local de sua preferência Executar o Sonar.sh ou StartSonar.bat http://localhost:9000 mvn sonar:sonar
    163. 163. Métricas
    164. 164. SonarMétricas
    165. 165. Sonar MétricasCobertura de testes
    166. 166. Sonar MétricasCobertura de testes Complexidade
    167. 167. Sonar MétricasCobertura de testes Complexidade Duplicações
    168. 168. Sonar MétricasCobertura de testes Complexidade Duplicações Comentários
    169. 169. Sonar MétricasCobertura de testes Complexidade Duplicações Comentários Violações
    170. 170. Obrigado!www.slideshare.net/rodrigobranas

    ×