hudson continuous integration tool tutorial selenium tutorial 25
Nos últimos dois tutoriais da série Selenium, discutimos as duas ferramentas de construção mais importantes - FORMIGA e Maven . Discutimos seu significado e importância prática.
Em nosso tutorial anterior da série DevOps, aprendemos sobre Integração de Jenkins com Selênio .
Na atual Tutorial de treinamento online do Selenium , nós discutiríamos um ferramenta de integração contínua conhecida como Hudson .
Ler através => Guia exemplar sobre DevOps
Observação: Este tutorial faz parte da série de tutoriais Selenium e DevOps. Clique nos links apropriados para navegar até a série em questão.
Gostaríamos de estudar sua importância e os benefícios que obtemos com qualquer ferramenta de integração contínua . Olharíamos para o Hudson desde o início, desde sua instalação até suas configurações avançadas.
O que você aprenderá:
- Integração contínua
- Hudson - Ferramenta de Integração Contínua
- Instalação Hudson
- Configuração Hudson
- Configurando Notificação de Email
- Criando o Projeto Hudson
- Configurando o Projeto Hudson
- Configurando o gerenciamento do código-fonte
- Selecionando Build Triggers
- Invocando etapas de compilação
- Configurando ações pós-construção
- Conclusão
- Leitura recomendada
Integração contínua
Muitas vezes, acabamos trabalhando em um projeto onde um grande grupo de desenvolvedores e testadores estão trabalhando juntos em diferentes módulos. Desenvolvedores e testadores trabalham em seus módulos, desenvolvendo executáveis. Esses produtos de trabalho são então integrados em intervalos regulares. Assim, cada vez que criamos um código de desenvolvimento, ele precisa ser integrado, testado e construído para garantir que o código desenvolvido não quebre ou introduza erros ou defeitos.
Este processo de construção e teste do trabalho de desenvolvimento integrado em intervalos regulares é conhecido como Integração Contínua (CI) . A integração contínua permite que você identifique e resolva os defeitos ou erros o mais rápido possível no ciclo de vida de desenvolvimento, ou seja, mais perto do momento em que foram introduzidos.

O sistema de Integração Contínua constrói e testa o aplicativo assim que o código novo / alterado é comprometido com a sigla do sistema de Gerenciamento de Controle de Origem como SCM. Com seus grandes benefícios e impacto nas indústrias, tornou-se parte integrante do ciclo de vida do Desenvolvimento de Software e é obrigatoriamente praticado.
Hudson - Ferramenta de Integração Contínua
A integração contínua pode ser realizada automaticamente. Hudson é uma das ferramentas popularmente conhecidas para realizar Integração Contínua. Hudson é uma ferramenta de integração contínua de código aberto baseada em Java. Como qualquer outra ferramenta de Integração Contínua, o Hudson fornece às equipes para acionar compilações e testes com qualquer mudança no Sistema de Gerenciamento de Controle de Origem.
Hudson oferece suporte a uma grande variedade de ferramentas e plug-ins.
Hudson:
- Suporta ferramentas SCM como CVS, Subversion (SVN), Git etc.
- É capaz de construir projetos baseados em ANT, projetos baseados em Maven, etc.
- É capaz de executar scripts de shell e comandos em lote do Windows
- É capaz de enviar relatórios, notificações, etc. por e-mail, SMS, Skype etc.
Instalação Hudson
Pré-requisitos
Para poder usar o Hudson, precisamos que os seguintes itens estejam em vigor antes de começarmos:
- Repositório de código-fonte (SVN / Git / CVS etc.)
- Script de construção (Ant / Maven etc.)
Instalação
O Hudson pode ser facilmente instalado em diversos ambientes. O Hudson pode ser instalado tanto na máquina Linux quanto na máquina Windows. Ele também é distribuído como um pacote específico para o tipo de sistema operacional para diferentes tipos de Linux, tornando a instalação uma tarefa de poucos minutos. Hudson pode ser executado como um aplicativo independente ou dentro do contêiner de servlet. Neste tutorial, explicaríamos a instalação do Hudson em uma máquina Windows. Existem duas abordagens distintas para instalar o Hudson.
- Usando arquivo WAR
- Usando Pacote Nativo
Pacotes nativos estão disponíveis para Ubuntu / Debian, Oracle Linux, Redhat / Fedora / CentOS e openSUSE.
Para este tutorial, discutiríamos a instalação pelo arquivo WAR. Vamos discutir todo o processo passo a passo.
Passo 1 : Baixe o arquivo Hudson WAR do site oficial da Hudson - “ http://hudson-ci.org/ ”. Mantenha o arquivo war no local desejado no sistema de arquivos local. Este arquivo WAR pode ser iniciado diretamente via prompt de comando ou pode ser usado no Servlet Container. O WAR é um arquivo executável que possui um Servlet Container embutido em si mesmo.

Passo 2 : A próxima etapa é inicializar a interface de usuário da web do Hudson. Para isso, precisamos abrir um prompt de comando e ir para a pasta onde a guerra de Hudson é mantida.
- Digite java -jar hudson-3.0.1.war –httpPort = 8099
O comando acima mostraria que a configuração inicial deve ser feita no painel Hudson. Consulte a tela abaixo.
(Clique para ampliar a imagem)

Nota: É aconselhável iniciar o Hudson como um serviço em uma máquina Windows ou Linux.
etapa 3 : Para poder acessar a janela Hudson, abra seu navegador e inicie o Hudson.
- Digite “http: // localhost: 8099 /” - Isso abrirá a janela do Hudson.
(Clique para ampliar a imagem)

Passo 4 : Selecione os plug-ins desejados e clique no botão Concluir. Seja paciente, pois é provável que demore alguns minutos para instalar todos os plug-ins.
Observação : Existem várias opções disponíveis para fornecer suporte para SCM. Marque a opção SCM que deseja usar.

Uma vez que todos os plug-ins tenham sido instalados, um usuário pode visualizar o painel Hudson.

Configuração Hudson
Agora que o Hudson Dashboard está pronto, a próxima etapa é configurar o Hudson. Vamos discutir novamente todo o processo em etapas:
Passo 1 : Para configurar o Hudson, clique no link “Gerenciar Hudson” exibido no menu à esquerda.
Passo 2 : Clique no link “Configurar Sistema” na próxima etapa. Consulte a imagem a seguir.

etapa 3 : Assim que você clicar no link Configurar sistema, várias seções para parâmetros de conexão serão exibidas. Adicione uma entrada ao JDK conforme mostrado na figura a seguir. O usuário precisa fornecer o nome da instalação do JDK e o local onde o java está instalado. Mais de uma instância Java pode ser adicionada.

O usuário também pode instalar o JDK automaticamente marcando a caixa de seleção “Instalar automaticamente”.
Passo 4 : Na próxima etapa, adicione uma entrada ao Ant conforme mostrado na figura a seguir. O usuário precisa fornecer o nome da instalação do Ant e o local onde o Ant está instalado localmente.

Como JDK e Ant, um usuário pode configurar outros parâmetros de conexão.
Observação : Lembre-se sempre de desmarcar a caixa de seleção “Instalar automaticamente”. A caixa de seleção deve ser marcada caso você queira baixar o artefato da internet.
Configurando Notificação de Email
A seção de notificação por email é mostrada no final da mesma página da web. O usuário precisa configurar os seguintes campos:
Clique em um botão avançado para ver todas as opções relacionadas à notificação por e-mail.
- Servidor SMTP: O servidor SMTP armazena as informações sobre o servidor SMTP, ou seja, o número IP ou o nome totalmente qualificado do servidor. Para demonstração, neste tutorial, usaremos o servidor SMTP do Gmail.
- Sufixo de e-mail do usuário padrão : Um sufixo de email pode ser fornecido neste campo, que pode ser sufixado com o nome de usuário e pode ser usado para enviar a notificação por email.
- Endereço de e-mail do administrador do sistema : O endereço de e-mail do administrador é usado como um id de e-mail do remetente a partir do qual todas as notificações seriam enviadas.
- URL Hudson : Se você pretende publicar relatórios ou construir informações na Notificação de e-mail, o URL do Hudson deve ser fornecido. O URL do Hudson será usado para acessar os relatórios. Um URL válido precisa ser fornecido, no entanto, se todos os receptores estiverem conectados à intranet, o endereço IP da máquina que hospeda o Hudson também pode ser fornecido.
- Use autenticação SMTP : Ativar esta opção permite que os campos de nome de usuário e senha apareçam para fins de autenticação.
- Use SS L: O usuário pode ativar o SSL selecionando esta opção para se conectar ao servidor SMTP.
- Porta SMTP: O usuário precisa fornecer o número da porta neste campo, que é usado para se comunicar com o servidor de e-mail. Se nenhum número de porta for especificado, os números de porta padrão serão atribuídos.
- Charset : Este campo especifica o conjunto de caracteres usado para escrever e-mails.
Como já mencionamos, usaríamos o servidor de e-mail do Gmail para enviar notificações por e-mail neste tutorial, consulte as capturas de tela a seguir e faça as alterações necessárias na seção Notificação por e-mail.

Clique no botão Salvar para salvar todas as alterações feitas recentemente.
Criando o Projeto Hudson
Agora que instalamos e configuramos o Hudson em nossas máquinas, devemos seguir em frente e criar os Projetos Hudson. Como a configuração do Hudson, temos várias opções de configuração para um Projeto Hudson. Neste tutorial, vamos lançar luz sobre as opções e extensões mais úteis e usadas popularmente.
Para criar e configurar um novo Projeto Hudson, siga as etapas a seguir:
Clique na opção “Novo Trabalho” exibida no menu à esquerda. A página a seguir seria aberta, exibindo as opções relacionadas à criação e estilos de projeto.

Existem vários estilos em que o projeto / trabalho pode ser criado. Observe que projeto e trabalho podem ser usados alternadamente, pois ambos tendem a significar a mesma coisa.
- Crie um jo de software de estilo livre b: Este é o método mais comumente usado para criar um novo trabalho Hudson.
- Crie um trabalho de várias configurações : Este estilo de projeto é usado para executar uma variedade de trabalhos.
- Monitore um trabalho externo : Este estilo de projeto monitora um trabalho externo.
- Copiar trabalho existente : No caso de termos um projeto semelhante a um projeto existente, este estilo pode ser útil. Tudo que você precisa fazer é especificar o nome do trabalho existente e a réplica deste trabalho será criada.
No entanto, para este tutorial, criaríamos um projeto Hudson de estilo livre. Digite o nome do trabalho que deseja criar e clique no botão OK. Clicar em OK o levará para a página de configuração do trabalho, conforme mostrado abaixo:

Configurando o Projeto Hudson
Depois de criar o trabalho Hudson, é hora de configurá-lo. Assim como a configuração do Hudson, o Hudson Job também possui várias opções de configuração. Vamos discutir os mais importantes aqui.
Para ser mais específico, existem seis tipos de configurações para configurar um trabalho:
- Configurações gerais de trabalho : Esta seção permite ao usuário mencionar as informações básicas sobre o trabalho. O usuário pode enviar a descrição do trabalho, desabilitar o trabalho, parametrizar o trabalho, eliminar as compilações mais antigas e pode executar mais de uma compilação para o mesmo trabalho simultaneamente.
- Opções avançadas de trabalho : Esta seção permite ao usuário configurar algumas opções avançadas.
- Gestão do código fonte : A seção permite que você forneça as configurações relacionadas ao sistema de gerenciamento de código-fonte. Selecione “Nenhum” se nenhum SCM estiver sendo usado. Observe que o usuário poderá ver apenas as opções de SCM cujo plug-in foi instalado no momento da instalação do Hudson. Para adicionar mais SCM ao Hudson, um usuário pode visitar a página Gerenciar Plug-ins e pode instalar os plug-ins necessários.
- Build Triggers : Esta seção permite que o usuário decida como iniciar a execução da compilação.
- Construir : Esta seção permite que o usuário forneça as configurações do mecanismo de construção.
- Ações pós-construção : Esta seção permite que o usuário forneça configurações para as ações pós-compilação que seriam executadas assim que a execução da compilação fosse concluída.
Vamos dar um passo à frente e configurar o trabalho com as configurações necessárias. O usuário pode deixar as opções em “Configurações gerais de trabalho” e “Opções avançadas de trabalho” em seus estados padrão.
Configurando o gerenciamento do código-fonte
Temos falado muito sobre a criação do projeto Hudson nas seções acima deste tutorial. O projeto Hudson é normalmente usado com um projeto real (Código-fonte) que está vinculado a um Sistema de gerenciamento de código-fonte específico. Conforme mencionado no início deste tutorial, Hudson tem um ótimo suporte para uma variedade de SCMs. Para citar alguns, Hudson suporta CVS, Git, SVN etc. Portanto, neste tutorial, iremos configurar o Subversion (SVN) como SCM.
Passo 1 : Selecione a opção “Subversion”. Assim que o usuário seleciona o Subversion, as seguintes opções aparecem.

Passo 2: A próxima etapa é fornecer o 'URL do repositório' do SVN. Como criei um repositório local, gostaria de fornecer uma URL de repositório local. Um repositório local pode ser criado usando Tortoise SVN.

melhor software de recuperação para windows 10
Mantenha todas as outras configurações nesta seção como padrão.
Selecionando Build Triggers
A próxima etapa é configurar os gatilhos de construção. Hudson permite que você defina gatilhos para iniciar o processo de execução do build automaticamente. O usuário pode configurar o trabalho para construir automaticamente se qualquer outro projeto / trabalho for construído. Alternativamente, o usuário também pode definir a compilação para executar periodicamente, ou seja, agendar a execução da compilação ou o usuário também pode programar uma compilação para procurar novos commits no SCM e disparar a execução se algum dos usuários também puder definir para iniciar a execução da compilação sempre que houver uma atualização nas dependências do maven, desde que seu projeto seja baseado em Maven.
Para definir essas opções, tudo o que você precisa fazer é selecionar o gatilho de construção desejado. O usuário também pode selecionar mais de uma opção por vez.

Ao selecionar qualquer um dos gatilhos acima, o usuário pode ter que fornecer algumas informações adicionais específicas para o tipo de gatilho.

- Compilar após a criação de outros trabalhos: O nome dos trabalhos que podem acionar a execução deste trabalho deve ser mencionado.
- Construa periodicamente: a programação deve ser mencionada. Existe um protocolo específico que precisa ser seguido para mencionar o cronograma. Mais informações sobre a programação são mostradas abaixo:

- Poll SCM: o usuário precisa especificar a programação. O campo atua da mesma forma que o de “Construir periodicamente”.
- Compilar quando as dependências do Maven forem atualizadas pela integração do Maven 3: esta seção não requer o envio de nenhuma entrada.
Mais informações podem ser encontradas expandindo os ícones de Ajuda.
Se o usuário não deseja definir nenhum desses gatilhos de construção, ele / ela pode decidir construir o trabalho / projeto manualmente. Tudo o que ele precisa fazer é clicar no link “Construir agora” exibido no menu à esquerda.

Invocando etapas de compilação
Agora que vimos todas as etapas básicas para configurar um projeto de construção, vamos prosseguir e adicionar mais algumas etapas de construção. Esta seção permite que o usuário defina sua construção com várias etapas de construção.

Cada uma das etapas de construção tem sua própria convenção para definir e invocar.
Por exemplo, verifique a invocação ANT abaixo:

Configurando ações pós-construção
Às vezes, torna-se necessário, bem como vital, executar certas ações pós-construção. As ações pós-construção nada mais são do que algumas ações que são acionadas assim que a construção é executada. O usuário é alavancado para acionar mais de uma ação pós-construção, se desejar.
Como todos sabemos, os status de execução de build e relatórios são um dos artefatos ou critérios de saída mais importantes para um ciclo de vida de desenvolvimento de software. Portanto, Hudson permite que você publique o relatório de execução do build, gere documentação, gere executáveis / arquivos etc.
Os relatórios de execução de teste podem ser publicados e enviados às partes interessadas por e-mail. Os resultados desta construção podem acionar a execução de outra construção.
As ações pós-construção são muitas, vamos tomar um momento para discutir as mais básicas.

# 1. Agregar resultados de teste downstream - A configuração permite que o usuário agregue os resultados da execução do teste deste trabalho e dos trabalhos downstream para produzir resultados de teste mais impactantes. Tudo o que o usuário precisa fazer é fornecer o nome do trabalho downstream. No caso, se o usuário não deseja fornecer qualquer trabalho downstream, mas ainda deseja explorar a configuração, ele pode direcionar o Hudson para encontrar todos os projetos downstream.
# 2. Registre impressões digitais de arquivos para rastrear o uso - A configuração pode ser usada pelo usuário para rastrear onde um arquivo específico foi usado.
# 3. Publicar relatório de resultado de teste JUnit - A configuração permite que o usuário publique o relatório de teste JUnit lendo e entendendo o relatório personalizado gerado pelo JUnit. O relatório de resultado do teste JUnit fornece ao usuário uma interface da web para visualizar os relatórios criados. Esses relatórios podem ser enviados por e-mail às partes interessadas. Para habilitar esta opção, tudo o que o usuário deve fazer é fornecer o caminho para o relatório personalizado gerado pelo JUnit.

# 4. Arquive os artefatos - Esta configuração permite que o usuário crie artefatos que podem ser distribuídos para uso posterior. O artefato pode ser produzido após cada construção bem-sucedida. Esses artefatos podem ser acessados diretamente pelo usuário na interface da web. Os artefatos podem ser executáveis de lançamento na forma de arquivos war, arquivos jar, pastas compactadas ou tar.

# 5. Publicar Javadoc - Esta configuração permite que você publique o documento java para clientes e usuários na interface da web do Hudson, desde que seu projeto gere o documento java. Para ativar esta opção, um usuário deve fornecer a localização do Java Doc no diretório Javadoc.
Se o usuário marcar a opção “Reter Javadoc para cada construção bem-sucedida”, o Javadoc recém-gerado será salvo na pasta especificada. Assim, todos os Javadocs correspondentes à construção bem-sucedida seriam mantidos.
# 6. Construir outros empregos - A configuração permite que o usuário acione a execução de outros trabalhos assim que este for executado. O usuário pode acionar a execução de mais de um trabalho ao mesmo tempo. A configuração pode ser útil para executar cenários de teste de unidade e teste de integração. O usuário pode até definir a opção de criar outros trabalhos, mesmo se este trabalho falhar (instável).
# 7. Publicar relatório de cobertura da Cobertura - Cobertura é uma ferramenta de teste baseada em java que analisa a cobertura de código de seu projeto, ou seja, avalia a porcentagem de código coberta pelos testes. Assim, a configuração permite ao usuário gerar um relatório com análise de cobertura de código. A configuração requer que alguns parâmetros sejam fornecidos antes que você possa obter um relatório de teste completo sobre a cobertura de código. Observe que essa configuração não vem por padrão, ou seja, requer a instalação de um plugin (o que fizemos no momento da instalação, pois geralmente faz parte dos plug-ins sugeridos).
(Clique na imagem para ampliá-la)

# 8. Notificação de Email - Notificação por email é uma das ações pós-construção mais importantes. A opção permite que o usuário envie o e-mail de notificação de construção para as partes interessadas (desenvolvedores, testadores, proprietários do produto, etc.) configurando seus ids de e-mail. Hudson pode enviar o e-mail quando a compilação estiver instável, bem-sucedida, com falha etc. O usuário também pode definir gatilhos de notificação por e-mail. O email de notificação pode ser enviado a mais de um destinatário ao mesmo tempo, apenas fornecendo um espaço em branco entre seus ids de email. Consulte a captura de tela abaixo para verificar como essas configurações podem ser fornecidas.
(Clique na imagem para ampliá-la)

Notas:
- O usuário pode, a qualquer momento, voltar a esta página e alterar as configurações, se necessário.
- O usuário pode visualizar as informações sobre cada opção dentro do ícone de ajuda associado a ela.
- O usuário pode adicionar mais ações pós-construção com a ajuda de plug-ins.
Conclusão
Neste tutorial, você se familiarizou com o conceito de Integração Contínua. Também enfatizamos sua importância durante o ciclo de vida de Desenvolvimento de Software, especialmente na vida de um desenvolvedor ou testador.
Próximo Tutorial # 26 : Seguindo em frente na série, gostaríamos discutir alguns conceitos avançados do Selenium isso ajudaria direta ou indiretamente na otimização do framework de automação e traz mais visibilidade aos usuários. Assim, no próximo tutorial, discutiríamos o recurso de registro, seu potencial, recursos de depuração e muito mais.
Observação: Este tutorial faz parte da série de tutoriais Selenium e DevOps. Clique no link abaixo para ver os tutoriais anteriores e posteriores da série DevOps.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Tutorial Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Tutoriais detalhados do Eclipse para iniciantes
- Integração de Selenium com JMeter
- Teste de automação usando a ferramenta Cucumber e Selenium - Selenium Tutorial # 30
- Spock para integração e teste funcional com selênio
- Uso da ferramenta Maven Build Automation e configuração do projeto Maven para Selenium - Selenium Tutorial # 24
- Integração do Jenkins com o Selenium WebDriver: tutorial passo a passo
- Introdução ao Selenium WebDriver - Selenium Tutorial # 8