< Anterior | Próximo >

Lição 2: Criando processos do componente

Os processos do componente descrevem tarefas automatizadas que são executados em componentes. Os processos do componente podem implementar, instalar, desinstalar, atualizar ou executar outras tarefas em um componente.
There are three types of processes:
  • Generic processes run outside the context of components or applications.
  • Application processes run within the context of applications. In many cases, application processes call component processes. For example, an application process can call the component processes that deploy those components.
  • Component processes run tasks on a single component, such as deploying it, uninstalling it, or running configuration tasks on it.

Processes are a list of steps and connections between those steps. Each step is an individual command that runs on a target computer. Steps can manipulate files, run system commands, download files, and run programs. Plug-ins contribute these steps; plug-ins are available that work with many different types of software.

Cada componente deve ter pelo menos um processo do componente para implementar ou instalar o componente. Nesta lição, você cria um processo de implementação para cada um dos três componentes. Posteriormente, você criará um processo de aplicativo que chama esses processos do componente para implementar cada componente.

Criando um processo de componente para o componente da web

O processo do componente para o componente da web faz download da versão mais recente dos artefatos do componente e coloca-os na pasta correta.
Siga estas etapas para criar o processo do componente que implementa o componente da web:
  1. Na guia Componentes, clique no componente JPetStore-WEB.
  2. Clique em Processos e, em seguida, clique em Criar novo processo.
  3. Na janela Criar novo processo, especifique o nome para ser Implementar componente da web.
  4. Na lista Tipo de processo, selecione Implementação. Essa lista possui outras opções para processos que desinstalam ou configuraram componentes.
  5. Aceite os valores padrão para as outras propriedades e clique em Salvar.
  6. Na lista de processos, clique no novo processo. O processo é aberto no editor de processos. Esse editor mostra as etapas no processo em um formato gráfico, como um fluxograma. As caixas Iniciar e Concluir representam o início e o fim do processo. A partir daqui, inclua as etapas no processo e vincule-as entre as etapas Iniciar e Concluir para mostrar a ordem das etapas.
  7. Inclua uma etapa para limpar quaisquer arquivos fora do diretório ativo. O processo é executado dentro de um diretório ativo. Para garantir que você está usando a versão mais recente dos arquivos no componente da web, execute um comando para limpar o diretório de trabalho:
    1. À esquerda do editor de processos, em Etapas de plug-in disponíveis, expanda Utilitários > FileUtils. O menu Etapas de plug-in disponíveis mostra as etapas disponíveis. É possível explorar as árvores para localizar etapas, ou é possível digitar na caixa de procura na parte superior da janela.
    2. No item de árvore FileUtils, clique e arraste a etapa Excluir arquivos e diretórios para o editor de processos. A janela Editar propriedades é aberta, mostrando as propriedades para a etapa. Algumas dessas propriedades são exclusivas para a etapa e outras são as mesmas para todas as etapas.
    3. No campo Nome, especifique o nome para ser Limpar diretório ativo.
    4. No campo Diretório base, especifique um único ponto (.).
    5. No campo Incluir, especifique um asterisco (*).
    6. Aceite os padrões para as outras propriedades e, em seguida, clique em Salvar.
    A nova etapa aparece como uma caixa no editor de processos. Posteriormente, conecte essa etapa às outras etapas no processo. O editor de processos é semelhante à figura a seguir:
    O novo processo com uma etapa no fluxo
  8. Inclua uma etapa para fazer download da versão mais recente dos artefatos do componente. A etapa Fazer download de artefatos é usada na maioria dos processos de implementação. Essa etapa faz download da versão especificada dos artefatos do componente para o computador de destino. Quando você executar o processo, especificará se irá usar a versão mais recente dos artefatos do componentes ou uma versão específica.
    1. Em Etapas de plug-in disponíveis, expanda Repositórios > Artefatos > IBM UrbanCode Deploy e arraste a etapa Fazer download de artefatos para o editor de processos.
    2. Na janela Editar propriedades, aceite os valores padrão e, em seguida, clique em Salvar.
  9. Inclua uma etapa para remover do servidor o conteúdo da web antigo:
    1. Expanda Utilitários > FileUtils e arraste outra etapa Excluir arquivos e diretórios para o editor de processos.
    2. Na janela Editar propriedades, especifique o nome para ser Remover conteúdo antigo.
    3. No campo Diretório base, especifique o diretório a seguir:
      webapps/JPetStore
    4. No campo Incluir, especifique o diretório a seguir:
      imagens
    5. No campo Diretório ativo, especifique a variável a seguir:
      ${p:environment/tomcat.home}
      Esta variável representa a pasta principal do servidor da Web do Tomcat. Você especificará um valor para essa variável posteriormente.
    6. Aceite os valores padrão nos outros campos e clique em Salvar.
  10. Inclua uma etapa para implementar o novo conteúdo para o servidor. Essa etapa copia os artefatos do componente para o servidor de aplicativos.
    1. Expanda Utilitários > FileUtils e arraste a etapa Mover diretório para o editor de processos.
    2. Na janela Editar propriedades, especifique o nome para ser Implementar novo conteúdo.
    3. No campo Diretório de origem, especifique um único ponto (.).
    4. No campo Diretório de destino, especifique o diretório a seguir:
      ${p:environment/tomcat.home}/webapps/JPetStore/
    5. No campo Incluir arquivos, especifique o código a seguir:
      images/*
    6. Aceite os valores padrão nos outros campos e clique em Salvar.
    Agora o processo tem quatro etapas, como na figura a seguir:
    As quatro etapas do processo, que são colocadas em ordem entre as etapas Iniciar e Concluir

Cada etapa tem dois ícones no canto superior direito da etapa. O ícone verde Editar abre a mesma janela Editar propriedades que é aberta quando você cria a etapa. O ícone X exclui a etapa.

Além disso, se você mover o mouse sobre uma etapa, um ícone de seta aparecerá sobre o centro da etapa. Este ícone é usado para criar links entre as etapas.

Clicar no botão de seta no centro da etapa

  1. Conecte as etapas na ordem em que elas são executadas:
    1. Mova o mouse sobre a etapa Iniciar, e clique e arraste o ícone de seta para a etapa Limpar diretório ativo. A seta entre essas etapas representa o fluxo da atividade de uma etapa a outra, como na figura a seguir:
      O link que conecta a etapa Iniciar até a etapa Limpar diretório de trabalho
    2. Da mesma forma, arraste uma seta da etapa Limpar diretório ativo para a etapa Fazer download de artefatos.
    3. Arraste uma seta da etapa Fazer download de artefatos para a etapa Remover conteúdo antigo.
    4. Arraste uma seta da etapa Remover conteúdo antigo para a etapa Implementar novo conteúdo.
    5. Arraste uma seta da etapa Implementar novo conteúdo para a etapa Concluir.
    É possível conectar as etapas em uma sequência como estas etapas, ou é possível executar em paralelo uma com a outra criando mais links. No entanto, os processos sempre iniciam com a etapa Iniciar e terminam com a etapa Terminar. A sequência das etapas nesse processo é a seguinte:
    1. Iniciar
    2. Limpar diretório ativo
    3. Fazer download de artefatos
    4. Remover conteúdo antigo
    5. Implementar novo conteúdo
    6. Concluir
  2. Salve o processo clicando no ícone Salvar em Ferramentas.
O processo de componente completo para o componente da web é semelhante à figura a seguir:
O processo de componente completo, o qual remove a versão antiga do artefatos e implementa a nova versão para o servidor de aplicativos

Criando um processo de componente para o componente de aplicativo

O componente de aplicativo consiste em um único arquivo WAR. Esse processo de componente faz download da versão mais recente do arquivo WAR, atualiza os valores no arquivo e implementa o arquivo no servidor de aplicativos.
  1. Na guia Componentes, clique no componente JPetStore-APP.
  2. Clique em Processos e, em seguida, clique em Criar novo processo.
  3. Na janela Criar novo processo, especifique o nome para ser Implementar componente do aplicativo.
  4. Na lista Tipo de processo, selecione Implementação.
  5. Aceite os valores padrão para as outras propriedades e clique em Salvar.
  6. Na lista de processos, clique no novo processo para abri-lo no editor de processos.
  7. Inclua uma etapa para limpar o diretório ativo. Assim como você fez para o componente da web, inclua uma etapa Excluir arquivos e diretórios denominada Limpar o diretório ativo e especifique um ponto no campo Diretório base e um asterisco no campo Incluir.
  8. Inclua uma etapa para fazer download dos artefatos. Assim como você fez para o componente da web, inclua uma etapa Fazer download de artefatos e aceite as propriedades padrão.
  9. Inclua uma etapa para extrair o arquivo WAR. Você deve extrair o arquivo WAR para que possa atualizar um arquivo de propriedades com as informações de conexão do banco de dados.
    1. Na lista de etapas, expanda a pasta Utilitários > FileUtils e arraste a etapa Descompactar para o editor de processos.
    2. Especifique o nome para ser Expandir WAR.
    3. No campo Extrair diretório, especifique o código a seguir:
      ./JPetStore_expanded
    4. No campo .zip arquivos, especifique o arquivo a seguir:
      JPetStore.war
    5. Clique em Salvar.
  10. Inclua uma etapa para atualizar o arquivo de propriedades com a localização do banco de dados:
    1. Na lista de etapas, expanda a pasta Utilitários > FileUtils e inclua a etapa Atualizar arquivo de propriedades no editor de processos.
    2. Especifique o nome para ser Atualizar arquivo de propriedades.
    3. No campo Deslocamento de diretório, especifique a pasta a seguir:
      ./JPetStore_expanded/WEB-INF/classes/properties
    4. No campo Arquivo de propriedades, especifique o arquivo a seguir:
      database.properties
    5. No campo Incluir/Atualizar propriedades, especifique o código a seguir:
      url=${p:environment/db.url}
      Esse código atualiza a propriedade url no arquivo de propriedades com o local do banco de dados. O código ${p:environment/db.url} é uma variável que representa o local do componente do banco de dados quando o aplicativo é implementado.
    6. Clique em Salvar.
  11. Inclua uma etapa para atualizar o arquivo WAR com o novo arquivo de propriedades.
    1. Na lista de etapas, expanda a pasta Utilitários > FileUtils e inclua a etapa Criar arquivo .zip para o editor de processos.
    2. Especifique o nome para ser Atualizar WAR.
    3. No campo Nome do arquivo .zip, especifique o arquivo JPetStore.war.
    4. No campo Diretório base, especifique a pasta a seguir:
      ./JPetStore_expanded
    5. No campo Incluir, especifique o código a seguir:
      **/*
    6. Marque a caixa de seleção Atualizar existente.
    7. Clique em Salvar.
  12. Inclua uma etapa para iniciar o Tomcat:
    1. Na lista de etapas, expanda a pasta Servidor de aplicativos > Java > Tomcat e inclua a etapa Iniciar Tomcat no editor de processos. Se essa etapa não estiver na árvore, instale o plug-in do Tomcat, conforme descrito no Pré-requisitos deste tutorial.
    2. Aceite o nome padrão Iniciar Tomcat.
    3. No campo Ativador, especifique o código a seguir:
      ${p:environment/tomcat.start}
      Esse código é outra variável que representa o comando para iniciar o Tomcat.
    4. No campo Tempo limite de inicialização (em segundos), especifique 60 segundos.
    5. No campo Porta, especifique a porta 8080.
    6. Clique em Salvar.
  13. Inclua uma etapa para remover quaisquer versões anteriores do aplicativo:
    1. Na lista de etapas, expanda a pasta Servidor de aplicativos > Java > Tomcat pasta e inclua a etapa Remover implementação do aplicativo no editor de processos.
    2. Aceite o nome padrão Remover implementação do aplicativo.
    3. No campo URL do Tomcat Manager, especifique o código a seguir:
      ${p:environment/tomcat.manager.url}
    4. No campo Nome de usuário do Tomcat Manager, especifique o nome de usuário para o servidor Tomcat. Você especificou esse nome de usuário e sua senha em Configurando o sistema de agente e de destino. Se você usou os exemplos de código desse tópico, o nome de usuário e a senha serão tomcatmanager.
    5. No campo Senha do Tomcat Manager, especifique a senha para o servidor Tomcat.
    6. No campo Nome de contexto, especifique o nome do contexto a seguir, incluindo a barra precedente:
      /JPetStore
    7. Clique em Salvar.
  14. Inclua uma etapa para implementar o arquivo WAR atualizado para o servidor de aplicativos:
    1. Na lista de etapas, expanda a pasta Servidor de aplicativos > Java > Tomcat e inclua a etapa Implementar aplicativo no editor de processos.
    2. Aceite o nome padrão Implementar aplicativo.
    3. No campo URL do Tomcat Manager, especifique o código a seguir:
      ${p:environment/tomcat.manager.url}
    4. No campo Nome de usuário do Tomcat Manager, especifique o nome de usuário para o servidor Tomcat.
    5. No campo Senha do Tomcat Manager, especifique a senha para o servidor Tomcat.
    6. No campo Nome de Contexto, especifique o nome do contexto a seguir:
      /JPetStore
    7. No campo Caminho do arquivo WAR, especifique o caminho a seguir:
      ./JPetStore.war
    8. Clique em Salvar.
  15. Conecte as etapas na seguinte ordem:
    1. Iniciar
    2. Limpar diretório ativo
    3. Fazer download de artefatos
    4. Expandir WAR
    5. Atualizar Arquivo de Propriedades
    6. Atualizar WAR
    7. Iniciar o Tomcat
    8. Remover Implementação de Aplicativo
    9. Implementar aplicativo
    10. Concluir
  16. Altere o sinalizador condicional no link entre as etapas Remover implementação do aplicativo e Implementar aplicativo para ambos, clicando na marca de seleção verde na conexão até que ela mude para um círculo cinza, conforme mostrado na figura a seguir:
    Clicar na marca de seleção verde entre as etapas Remover implementação do aplicativo e Implementar aplicativo etapas para ligá-la a um círculo cinza
    Cada conexão de uma etapa para outra possui um sinalizador condicional. O sinalizador condicional especifica uma condição para a conexão. Três sinalizadores condicionais estão disponíveis:
    • Por padrão, o sinalizador condicional em cada conexão é definido como sucesso, que é representado por uma marca de seleção verde. O processo seguirá essas conexões quando a etapa for bem-sucedida.
    • O sinalizador condicional falha é representado por um traço vermelho (). O processo seguirá essas conexões quando a etapa falhar.
    • O sinalizador condicional ambos é representado por um círculo cinza. O processo segue essas conexões, independentemente de a etapa ter sido bem-sucedida ou com falha.
    A etapa Remover implementação do aplicativo falha se nenhuma versão anterior do aplicativo estiver instalada. Nesse caso, configure o sinalizador condicional na conexão para que ambos especifiquem que o processo continua sendo executado se o processo falhar ou for executado com êxito.
  17. Salve o processo.
O processo do componente completo para o componente de aplicativo é semelhante à figura a seguir:
O processo do componente completo que implementa o aplicativo

Criando um processo de componente para o componente do banco de dados

O processo de implementação para o componente do banco de dados atualiza o banco de dados com valores de amostra.
  1. Na guia Componentes, clique no componente JPetStore-DB.
  2. Clique em Processos e, em seguida, clique em Criar novo processo.
  3. Na janela Criar novo processo, especifique o nome para ser Implementar componente do banco de dados.
  4. Na lista Tipo de processo, selecione Implementação.
  5. Aceite os valores padrão para as outras propriedades e clique em Salvar.
  6. Na lista de processos, clique no novo processo para abri-lo no editor de processos.
  7. Inclua uma etapa para fazer download dos artefatos. Assim como você fez para o componente da web, inclua uma etapa Fazer download de artefatos e aceite as propriedades padrão.
  8. Inclua uma etapa para atualizar o banco de dados:
    1. Na lista de etapas, expanda a pasta Banco de dados > DBUpgrader e inclua uma pasta Atualizar o banco de dados no editor de processos. Se essa etapa não estiver na árvore, instale o plug-in de upgrade de banco de dados conforme descrito no Pré-requisitos deste tutorial.
    2. Na janela Editar propriedades, no campo Nome, aceite o valor padrão de Upgrade do banco de dados.
    3. No campo Nome de classe do driver, especifique a classe a seguir:
      com.mysql.jdbc.Driver
    4. No campo Jar do Driver DB, especifique o caminho a seguir:
      lib/mysql-connector-java-5.1.20-bin.jar
      Esse arquivo é fornecido no código fonte para o componente.
    5. No campo URL, especifique a variável a seguir:
      ${p:environment/db.url}
    6. No campo Usuário, especifique o ID do usuário do banco de dados. Se você usou os exemplos em Configurando o sistema de agente e de destino, o ID do usuário é jpetstore.
    7. No campo Senha, especifique a senha do usuário do banco de dados. Se você usou os exemplos em Configurando o sistema de agente e de destino, a senha é jppwd.
    8. No campo Caminho do arquivo SQL, especifique um único ponto: . .
    9. No campo Inclusão de arquivo SQL, especifique a extensão *.xml.
    10. No campo SQL da versão atual, especifique o código SQL a seguir:
      SELECT VER FROM DB_VERSION WHERE RELEASE_NAME = ?
    11. No campo Excluir versão SQL, especifique o código SQL a seguir:
      DELETE FROM DB_VERSION WHERE RELEASE_NAME = ?
    12. No campo Atualizar versão SQL, especifique o código SQL a seguir:
      INSERT INTO DB_VERSION (RELEASE_NAME,VER) VALUES(?,?)
    13. Clique em Salvar.
  9. Conecte as etapas na seguinte ordem:
    1. Iniciar
    2. Fazer download de artefatos
    3. Fazer upgrade do banco de dados
    4. Concluir
  10. Salve o processo.
O processo de componente completo para o componente do banco de dados é semelhante à figura a seguir:
O processo do componente completo que implementa o banco de dados

Ponto de verificação da lição

Nessa lição, você criou os processos do componente para implementar os componentes.

É possível usar processos de componente para automatizar muitas tarefas diferentes nos componentes. Entretanto, não é possível executar processos do componente diretamente; na maioria dos casos, inclua-os nos processos de aplicativo. Posteriormente neste tutorial, você criará um processo de aplicativo para esses três processos do componente.

Os processos consistem em etapas, que são fornecidas por plug-ins. Para ver uma lista de plug-ins disponíveis e obter a documentação on those plug-ins and steps, see IBM developerWorks: UrbanCode Deploy Plug-ins.

< Anterior | Próximo >

Feedback