Post on 24-Jan-2017
Automação do ciclo de vida do software
para Java
HELLO WORLD!
Rafael “Bleidi” Souza Oliveira
rafael.bleidi@gmail.com
Entrega de softwareQual a distância entre o código-fonte e
A satisfação de nossos clientes?
1
“Software is a great combination between
artistry and engineering. (Gates,
Bill)
Software coexiste com sistema | serviço
DevOps
Ciclo de vida
Gestão de requisitosO que entregar (WHAT)
2
Github
Gestão de testesO que entregar (HOW)
3
Apache Maven
Instalação
⊡Certifique-se de ter uma JRE instalada(ou uma variável JAVA_HOME com binários)
⊡Acesse http:\\maven.apache.org\download.cgi
⊡Disponibilize os binários em M2_HOME⊡$ mvn -version⊡Atualize suas definições de anti-vírus :)
Convention over configuration
POM
Plug-ins
https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html
Plug-ins
http://www.mojohaus.org/cassandra-maven-plugin/
Gestão de mudançaO que entregar (WHY)
3
Git Flow
Maven Changes
http://maven.apache.org/plugins/maven-changes-plugin/changes-report.html
Gestão de configuraçãoComo entregar (WHAT)
4
SCM
Lembrando...
Gestão de atividadesComo entregar (HOW)
5
Mylyn
Gestão de lançamentoComo entregar (WHY)
6
Maven + GitHub
http://maven.apache.org/maven-release/maven-release-plugin/examples/prepare-release.html
Nexus
Heroku
Gestão de construçãoPorquê entregar (WHAT)
7
Jenkins | Travis
A automação do seu processo é proporcional à
maturidade
MétricasPorquê entregar (HOW)
8
Codahale Metrics
“Se você não pode medir, você não pode
gerenciar (Drucker,
Peter)
Obrigado
Dúvidas?