Exemplo: Automatizando uma Tarefa com Apache Ant

Este exemplo mostra como é possível usar o ferramentas de planejamento de implementação para automatizar uma tarefa simples com Apache Ant.

Antes de Iniciar

Sobre Esta Tarefa

Instalar um servidor da web e um aplicativo da web Apache Tomcat é um exemplo de uma tarefa simples que é possível automatizar com Ant e o ferramentas de planejamento de implementação. O Tomcat é fornecido com comandos Ant especializados para instalação e implementação e o uso destes comandos evita que você precise gravar seu próprio código Ant. É possível criar uma biblioteca de assinaturas de automação que descrevem cada etapa da tarefa e se referem a estes comandos. Em seguida, é possível criar fluxos de trabalho de automação que aplicam estas assinaturas de automação em topologias.

Este exemplo usa um cenário simples de um servidor da web Tomcat, usuários e grupos de usuários e aplicativos da web, conforme mostrado na topologia a seguir. Este cenário é obtido do exemplo de automação com Ant na amostra Amostra deTopologias e Fluxos de Trabalho de Automação de Implementação.

Um sistema Tomcat simples com dois usuários, dois aplicativos, um grupo de usuários e um registro do usuário

Configurando as Tarefas Automatizadas

A primeira etapa ao usar as ferramentas de planejamento de implementação para automatizar tarefas é criar assinaturas de automação reutilizáveis. Cada assinatura de automação e sua definição de automação correspondente representam uma tarefa a ser executada em um sistema de TI, como instalação, desinstalação ou configuração de um componente de software. Neste exemplo, cada assinatura de automação corresponde a um ou mais comandos Ant. Estes comandos podem ser comandos Ant principais ou comandos Ant de terceiro, tais como os comandos Tomcat.

Procedimento

Neste exemplo, a primeira assinatura de automação instala o Tomcat no sistema de destino. Esta tarefa pode parecer complicada mas, neste contexto, instalar o Tomcat é tão simples quanto extrair um arquivo compactado no sistema de destino. Para criar esta assinatura de instalação, siga estas etapas:

  1. Crie uma topologia de assinatura de automação:
    1. Na perspectiva Implementação, clique em Arquivo > Novo > Topologia.
    2. Na janela Nova Topologia, em Categorias, clique em Implementação Básica e em Modelos, clique em Topologia de Assinatura de Automação em Branco.
    3. Dê à nova topologia de assinatura de automação um nome, namespace e pasta de origem. Por exemplo, chame esta topologia de AntInstallTomcatSignature. Em geral, as topologias de assinatura de automação vão para a pasta de origem operations e o namespace padrão (vazio).
    4. Clique em Concluir.
  2. Na topologia de assinatura de automação, modele o sistema de TI no qual a tarefa automatizada é executada. Neste exemplo, uma unidade de sistema operacional representa o sistema de TI. A topologia ainda não inclui qualquer outra unidade porque topologias de assinatura de automação contêm apenas os detalhes que são necessários para descrever a tarefa.
  3. Configure o estado de instalação das unidades como Instalada. Como esta topologia representa o estado do sistema de TI antes de a tarefa automatizada ser executada, a unidade do sistema operacional já está instalada.
    Uma única unidade de sistema operacional
  4. Inclua unidades que representam as unidades que a tarefa instala, desinstala ou modifica. Neste exemplo, inclua unidades que representam o sistema Tomcat, incluindo uma unidade de instalação do Tomcat, uma unidade do servidor Tomcat, uma unidade de registro do usuário Tomcat e uma unidade do grupo de usuários Tomcat.
  5. Configure o estado da instalação destas novas unidades como A ser instalada ou A ser desinstalada, conforme apropriado. Em geral, use as regras a seguir para configurar os estados da instalação das unidades:
    • Configure unidades não afetadas pela tarefa ou que são consideradas como instaladas antes do início da tarefa como Instaladas.
    • Configure unidades que a tarefa instala ou modifica como A serem instaladas.
    • Configure unidades que a tarefa desinstala ou remove como A serem desinstaladas.
    Neste exemplo, todas as novas unidades do Tomcat possuem estados da instalação iguais a A ser instalada. Estas unidades possuem erros nelas porque a assinatura de automação ainda não especifica como a tarefa afeta essas unidades. Estes erros se resolverão quando a assinatura de automação for concluída.
    Unidades relacionadas ao Tomcat que representam o software a ser instalado
  6. Inclua uma unidade de operação Ant na topologia. Esta unidade está disponível na gaveta Ferramentas Comuns da Paleta, no grupo Operação de modelos. Esta unidade representa a definição de automação, a qual neste caso é um ou mais comandos Ant.
  7. Clique em uma área em branco na topologia e, em seguida, abra a visualização Propriedades na guia Assinatura.
  8. Na guia Assinatura, no campo Nome, especifique um nome para a tarefa automatizada. Este nome não pode conter espaços. Neste exemplo, é possível especificar um nome tal como AntInstallTomcat.
  9. No campo Comando, especifique o código Ant para a tarefa, substituindo parâmetros por cifrões e chaves, tal como ${parameterName}. Neste exemplo, o código a seguir extrai o archive Tomcat e chama o comando para iniciar o servidor. Ele inclui parâmetros para o local do archive e o local da instalação do Tomcat.
    <unzip src="${tomcatInstallFile}" 
      dest="${tomcatInstallLocation}">
      <cutdirsmapper dirs="1"/>
    </unzip> 
    
    <java jar="${installationLocation}\bin\bootstrap.jar" 
      fork="true" spawn="true"> 
      <jvmarg value="-Dcatalina.home=${tomcatInstallLocation}"/>
        <arg line="start"/>
    </java>

    Se este comando usar somente comandos Ant padrão, como neste exemplo, não será necessário especificar informações sobre onde localizar os comandos Ant. Se estiver usando comandos em uma biblioteca Ant de terceiro, você deverá especificar onde localizar o comando Ant especificando os parâmetros classname, classpathHome e javaArchive na guia Assinatura.

  10. Na guia Assinatura, na seção Parâmetros, inclua parâmetros para corresponder aos parâmetros no código Ant:
    1. Clique em Incluir Parâmetro.
    2. Na janela Parâmetro de Assinatura de Automação, especifique o nome do parâmetro.
    3. Em Valor de Parâmetro, especifique um valor para o parâmetro ligando o parâmetro a um atributo na topologia ou especificando um valor literal. Também é possível deixar o parâmetro em branco para que possa preenchê-lo quando incluir esta assinatura de automação em um fluxo de trabalho.

      Neste exemplo, ligue o parâmetro installationLocation ao atributo installedLocation no recurso de instalação do Tomcat. Não especifique um valor para este atributo na topologia da assinatura de automação. Ao criar um fluxo de trabalho, o fluxo de trabalho usa valores de uma topologia que representa uma instância de implementação específica.

    4. De modo semelhante, crie um parâmetro denominado tomcatInstallFile para corresponder ao parâmetro no código Ant. Deixe o valor para este parâmetro em branco, porque o arquivo de instalação Tomcat não é modelado nesta topologia.
  11. Na parte inferior da guia Assinatura, inclua todas as unidades com estados da instalação iguais a A ser instalada ou A ser desinstalada na lista Para publicar. Agora a assinatura de automação especifica as unidades que são afetadas pela tarefa e os erros nas unidades desaparecem. As unidades na lista Para publicar também são incluídas como membros da unidade de Operação de Ant. A topologia da assinatura de automação é semelhante à topologia a seguir:
    A assinatura de automação completa, incluindo uma unidade de operação Ant
  12. Salve a topologia da assinatura de automação.

Resultados

Agora é possível usar esta assinatura de automação em fluxos de trabalho. Para este exemplo, são necessárias duas outras assinaturas de automação:
  • Uma assinatura de automação que inclui um usuário no grupo de usuários e no registro do usuário Tomcat. A topologia de assinatura de automação relacionada inclui unidades do servidor Tomcat com estados da instalação iguais a Instalada e uma unidade de usuário com um estado da instalação igual a A ser instalada. A topologia de assinatura de automação é semelhante à topologia a seguir:
    Uma topologia de assinatura de automação que inclui um usuário em um grupo de usuários do Tomcat
    O código Ant para esta assinatura de automação para o servidor, atualiza o registro do usuário do Tomcat e reinicia o servidor:
    <java jar="${tomcatInstallLocation}\bin\bootstrap.jar" 
      fork="true" spawn="true"> 
      <jvmarg value="-Dcatalina.home=${tomcatInstallLocation}"/>
        <arg line="stop"/>
    </java> 
    
    <replace file="${userRegistryLocation}" 
      token="</tomcat-users&gt;" 
      value="<user name=&quot;${username}&quot; 
        password=&quot;${password}&quot; 
        roles=&quot;${roles}&quot;/&gt;</tomcat-users&gt;" /> 
    
    <java jar="${tomcatInstallLocation}\bin\bootstrap.jar" 
      fork="true" spawn="true"> 
      <jvmarg value="-Dcatalina.home=${tomcatInstallLocation}"/>
      <arg line="start"/>
    </java>
    Os parâmetros neste código são limitados a valores da topologia, incluindo o nome de usuário e a senha do usuário e o local da instalação do Tomcat.
  • Uma assinatura de automação que implementa um aplicativo da web no servidor Tomcat. A topologia de assinatura de automação relacionada inclui o aplicativo da web e a instalação do Tomcat existente:
    Uma topologia de assinatura de automação que implementa um aplicativo da web no Tomcat
    O código Ant para esta assinatura de automação usa um comando Ant na biblioteca Tomcat Ant denominada deploy:
    <deploy path="${path}" 
      url="http://${hostname}:${port}/manager" 
      war="${war}" username="${username}" 
      password="${password}" />
    Neste caso, a assinatura de automação deve especificar o classname, classpathHome e javaArchive com as informações para a biblioteca Ant de terceiro.

Aplicando as Tarefas a uma Topologia Criando um Fluxo de Trabalho

Agora que você possui assinaturas de automação que cobrem cada etapa no processo de instalação do Tomcat e de implementação de um aplicativo da web, é possível aplicar essas assinaturas de automação em uma topologia criando um fluxo de trabalho.

Procedimento

  1. Crie uma topologia que representa o estado atual do sistema de TI no qual executar a tarefa.

    Neste exemplo, a topologia mostra o sistema no qual você deseja instalar o Tomcat. Nesta topologia, todos os atributos importantes são especificados. Por exemplo, o nome de usuário e senha do usuário administrador são especificados e os locais dos arquivos e pastas relevantes são especificados. Além disso, todas as unidades possuem um estado de instalação de Instalada.

  2. Inclua unidades na topologia para representar as mudanças a serem feitas no sistema. Neste exemplo, é possível instalar o Tomcat, incluir um ou mais usuários e implementar um ou mais aplicativos da web, incluindo unidades que correspondem rigorosamente às unidades na lista Para publicar nas assinaturas de automação. Estas unidades possuem um estado da instalação igual a A ser instalada ou A ser desinstalada.
  3. Especifique os atributos relevantes nas novas unidades. Neste exemplo, especifique o nome de usuário e a senha para os novos usuários e especifique a função para os usuários na unidade de grupo de usuários.
  4. Especifique a ordem na qual as tarefas automatizadas são executadas, incluindo links de restrição da ordem de implementação entre unidades. Neste caso, links de restrição de ordem de implementação conectam as unidades de usuário às unidades de aplicativo da web porque você deve criar pelo menos um usuário antes de poder implementar um aplicativo da web. A topologia é semelhante à topologia a seguir:
    Uma topologia completa que mostra um sistema específico e as mudanças a serem feitas nele
  5. Salvar a topologia.
  6. Na visualização Propriedades, na guia Criação do Fluxo de Trabalho, clique em Analisar topologia para obter possíveis correspondências de assinatura de automação. Esta guia mostra uma tabela das unidades na topologia e como elas correspondem ou não correspondem às assinaturas de automação, conforme mostrado na figura a seguir. As unidades em verde são afetadas por esta tarefa; neste caso, as unidades afetadas são as unidades que a tarefa instala. As outras unidades suportam a tarefa fornecendo informações, como valores de parâmetro.
    A guia Criação do Fluxo de Trabalho, mostrando as unidades correspondentes entre as topologias de assinatura de automação e a topologia
  7. Depois de corresponder a topologia a uma ou mais assinaturas de automação, clique em Criar Fluxo de Trabalho de Automação. O fluxo de trabalho representa a série de tarefas a serem executadas no sistema de TI para convertê-lo no que você modelou na topologia.
  8. Configure os valores de parâmetro para cada assinatura de automação no fluxo de trabalho. Na maioria dos casos, as assinaturas de automação usam valores da topologia, tais como o local da instalação do Tomcat e o nome de usuário e o ID dos usuários. Em outros casos, talvez seja necessário especificar valores ou fazer correções no fluxo de trabalho. Neste exemplo, especifique o local do arquivo de instalação Tomcat e dos arquivos de instalação do aplicativo da web.
  9. Salve o fluxo de trabalho.
  10. Publique o fluxo de trabalho conforme descrito no Publicando um Fluxo de Trabalho no Apache Ant e execute o arquivo de construção Ant resultante.

O que Fazer Depois

Como as assinaturas de automação são reutilizáveis, é possível criar mais topologias e aplicar as assinaturas de automação a essas topologias também.

Feedback