Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
1.
2. Suporte a Open Source no Oracle WebLogic
12c: Integração com Maven e o Hudson CI
Ricardo Ferreira | Fusion Middleware | Strategic Accounts
ricardo.s.ferreira@oracle.com
Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
3. The following is intended to outline our general product
direction. It is intended for information purposes only, and may
not be incorporated into any contract It is not a commitment to
contract.
deliver any material, code, or functionality, and should not be
relied upon in making purchasing decisions. The development,
release, and timing of any features or functionality described for
Oracle’s products remains at the sole discretion of Oracle.
Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
4. O que é o Maven?
• Projeto Open Source da Apache
• O Maven é:
– Um sistema de build automatizado +
– Um sistema de gestão de projetos +
– Um sistema para gerir dependências +
– Um sistema de descrição de projetos +
– Um sistema de geração de sites +
– …
Maven is a project management tool which encompa
project object model, a set of standards, a project lifec
• Maturidade dependency management system, and logic for exe
plugin goals at defined phases in a lifecycle.
– Maven 1.0 (2004) When you use Maven, you describe your project using
– Maven 2.0 (2005) defined project object model, Maven can then apply
cutting logic from a set of shared (or custom) plugins.
– Maven 3.0 (2010) Jason Van Zyl, So
5. Ciclo de Vida Padrão no Maven
Validação Compilação Testes Empacotamento
Testar o código gerado na
Montar um pacote
Compilar todo o código compilação contra algum
ssegurar que o projeto executável da aplicação
fonte do projeto utilizando framework de testes
steja ntegro e que todas reunindo o código gerado
um compilador de uma automatizado. Os testes
s suas informações estão testado bem como
dada linguagem de não devem requerer que o
sponíveis artefatos externos de
programação código precise ser
configuração
implantado num servidor.
mplantação Instalação Verificação Integração
Executa o aplicativo em
Instala o aplicativo num
era um build final do Executa uma série de conjunto com outros
repositório para que este
plicativo para que outros verificações e testes para aplicativos do mesmo
possa ser usado como
esenvolvedores possam ver se o projeto atende aos projeto, para saber se ele
dependência de outros
r acesso a este build requisitos não-funcionais foi projetado para colabor
projetos
corretamente
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
http://maven.apache.org/guides/introduction/introduction
6. Integração do WebLogic 12.1.1 com Maven
Novo Suporte para Gerenciamento do Servidor WebLogic
Habilita, suporta e automatiza todo o ciclo de
desenvolvimento dos projetos usando Maven
Novos goals do Maven incluindo suporte funcional
– install: automatiza a instalação a partir do ZIP
– create-domain: cria um domínio simples do WLS
– start-server, stop-server: iniciar a parar uma JVM
Domínio do WebLogic
– wlst: executar scripts WLST inline e externos Servidor de Deployment
Aplicações Spring
– appc: compilar artefatos do Maven usando appc
Java EE
– deploy: realiza o deploy de aplicações no domínio
Extremamente simples e intuitivo. Ideal para admins.
.
Funcionalidades adicionais para o FMW já estão
planejadas no roadmap do Oracle WebLogic
7. nstalando o Plugin do WebLogic no Maven
Detalhes da Instalação do Plugin
• Use o goal do Maven install:install
install:install-file para instalar a biblioteca
wls-maven-plugin.jar (encontrada dentro do WebLogic Server)
encontrada
• Use o $WL_HOME/server/lib/pom.xml para especificar Group I
Artifact ID e Version
• O goal install:install-file irá instalar o plugin no seu repositório lo
• Alternativamente, o goal deploy:deploy
deploy:deploy-file pode ser usado par
instalar o plugin no repositório remoto
$ mvn install:install-file –Dfile=$WL_HOME/server/lib/wls
=$WL_HOME/server/lib/wls-maven-plugin.jar
–DpomFile=$WL_HOME/server/lib/pom.xml
=$WL_HOME/server/lib/pom.xml
8. nstalando a Distribuição ZIP do WebLogic em um
Repositório Local do Maven
• A distribuição ZIP do WebLogic precisa estar disponível em seu
repositório local ou em um repositório remoto
• Instale a distribuição ZIP do WebLogic no seu repositório local
usando o goal do Maven install:install
install:install-file
$ mvn install:install-file -Dfile=wls1211_dev.zip
=wls1211_dev.zip
-DgroupId=com.oracle.weblogic
com.oracle.weblogic
-DartifactId=wls-
-dev
-Dpackaging=zip
=zip
-Dversion=12.1.1.0
=12.1.1.0
10. ntegração com Servidores de Integração Contínua
Compila & Servidor de
Empacota Integração
positório Contínua
Código Servido
WebLog
11. ntegração com Servidores de Integração Contínua
Hudson CI (“Continuous Integration”) Server
Dashboard mostra o status de
todos os jobs em execução
Dispara builds automáticos a
partir de mudanças do SCM
Jobs podem ser criados em
cima dos projetos
Ciclo de vida do Maven usado:
• Executa o build, compila, testa,
empacota, instala, realiza testes
integrados, etc
12. ntegração com Servidores de Integração Contínua
Testes Executados sobre as Aplicações Implantadas no WLS
est
lic void calculatorServletErrorIT() throws Exception {
p1 = 1;
p2 = 2;
res = 0;
ing test =
tring.format("http://localhost:7001/demo-wls-
en/CalculatorServlet?p1=%s&p2=%s", p1, p2);
ing expect = String.format("%s+%s=%s", p1, p2, res);
al WebClient webClient = new WebClient();
al HtmlPage page = webClient.getPage(test);
al String pageAsText = page.asText();
sertTrue(pageAsText.contains(expect));