Exemplo: Automatizando uma Tarefa Simples no Rational Build Forge

Este exemplo mostra como é possível usar as ferramentas de planejamento de implementação para automatizar uma tarefa simples no Rational Build Forge.

A automação de implementação requer o IBM® Rational Software Architect Extension for Deployment Automation Planning.

Visão Geral

A instalação de um servidor da Web e de um aplicativo da Web é um exemplo de uma tarefa simples que pode ser automatizada com as ferramentas de planejamento de implementação. É possível criar assinaturas de automação que descrevem cada etapa na tarefa em termos abstratos, sem referir-se a um sistema de computador específico. Em seguida, é possível aplicar essas assinaturas de automação a uma ou mais topologias para executar a tarefa em sistemas diferentes. As assinaturas de automação usam as informações de cada topologia à qual você as aplica; desta forma, é possível gravar o código de automação uma vez e usá-lo em sistemas diferentes.

Este exemplo usa um cenário simples de um aplicativo da web, servidor da web Tomcat e um sistema operacional Linux, conforme mostrado na topologia a seguir. Este cenário é semelhante ao exemplo de automação com o Rational Build Forge na amostra Amostra de Topologias e Fluxos de Trabalho de Automação de Implementação.

Um sistema simples com um aplicativo da Web, servidor da Web e sistema operacional Linux

É possível instalar o servidor da Web e um aplicativo da Web em uma tarefa automatizada mas, para melhor reutilização, é possível separar as duas tarefas. A organização da tarefa em partes modulares torna as tarefas mais flexíveis. Por exemplo, se você usar tarefas automatizadas separadas para instalar o servidor e instalar o aplicativo, poderá executar a segunda tarefa duas vezes para instalar dois aplicativos no mesmo servidor. Portanto, a melhor maneira de planejar esta tarefa automatizada é separá-la em duas etapas. Cada etapa é representada por uma biblioteca no Rational Build Forge que executa a tarefa e uma assinatura de automação correspondente que representa a tarefa em sua área de trabalho. A assinatura de automação contém uma topologia de assinatura de automação, que é possível aplicar a topologias em sua área de trabalho para que seja possível executar a tarefa automatizada nessa topologia.

Neste exemplo, a primeira assinatura de automação instala um servidor da Web em um sistema Linux, conforme ilustrado na figura a seguir. A topologia de assinatura de automação mostra as unidades que são relevantes para a tarefa: o novo servidor da Web, o sistema operacional e o usuário administrador que executa a tarefa. Esta topologia de assinatura de automação também inclui o arquivo de instalação para o servidor da web. O estado de instalação indica quais unidades a tarefa altera e quais unidades ela não altera; neste caso, a unidade do novo servidor da Web é configurada como A ser instalada e as outras unidades, as quais são consideradas presentes antes da execução da tarefa, são configuradas como Instaladas.

Uma topologia de assinatura de automação que mostra um servidor da Web sendo instalado em um sistema Linux

A segunda assinatura de automação instala um aplicativo da Web em um servidor Tomcat, conforme ilustrado na figura a seguir. A topologia de assinatura de automação mostra um novo aplicativo da Web com um estado de instalação de A ser instalada e outras unidades que são consideradas como instaladas com um estado de instalação de Instaladas, incluindo uma unidade de arquivo que representa o aplicativo da Web a ser instalado.

Uma topologia de assinatura de automação que mostra o aplicativo da Web sendo instalado em um servidor da Web em um sistema Linux

Em seguida, é possível aplicar estas assinaturas de automação a uma topologia que representa um sistema de TI. Por exemplo, a topologia a seguir representa dois computadores em um sistema de TI, cada um com uma parte diferente de hardware e uma distribuição Linux diferente:
Duas pilhas de hosting
É possível indicar que você deseja instalar servidores da Web e aplicativos da Web nestes sistemas, incluindo unidades que correspondem às unidades nas topologias de assinatura de automação. Neste caso, você incluiria uma ou mais unidades do servidor da Web e unidades de aplicativo da Web nesta topologia e configuraria o estado de instalação destas unidades como A ser instalada. É possível incluir vários servidores da Web e aplicativos da Web nesta topologia porque as assinaturas de automação são reutilizáveis. A topologia a seguir mostra um novo servidor da Web em cada sistema e dois novos aplicativos da Web em cada novo servidor da Web.
Duas pilhas de hosting com servidores da Web e aplicativos da Web para instalação
Esta topologia não contém as informações especificadas nas topologias de assinatura de automação:
  • Unidades que representam os arquivos de instalação para os servidores da Web
  • Unidades que representam o local da instalação dos servidores da Web
  • Unidades que representam os arquivos de instalação para o aplicativo da Web
Neste caso, você incluiria estas unidades nas unidades do sistema operacional, conforme mostrado nas seguintes topologias de assinatura de automação.
Duas pilhas de hosting com aplicativos e servidores a serem instalados, com unidades que representam os arquivos de instalação para os aplicativos e servidores

Em seguida, é possível criar um fluxo de trabalho que aplica as assinaturas de automação a esta topologia, conforme mostrado na figura a seguir. O fluxo de trabalho relaciona uma topologia a uma ou mais assinaturas de automação para que seja possível executar as tarefas nas assinaturas de automação nessa topologia. Neste caso, o fluxo de trabalho contém duas cópias da assinatura de automação que instala o servidor da Web e quatro cópias da assinatura de automação que instala o aplicativo da Web. Cada instância das assinaturas de automação é configurada para usar as informações da topologia, tais como os nomes do host, nomes de usuário e senhas dos dois sistemas de computadores.

O fluxo de trabalho que contém seis instâncias das duas assinaturas de automação com ligações para a topologia

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. Estas tarefas são modulares; elas podem se aplicar a qualquer sistema que atende aos pré-requisitos na assinatura de automação.
  1. Prepare um ambiente de automação para executar as tarefas automatizadas. Consulte o Preparando o Ambiente para Tarefas Automatizadas.
  2. Instale o cliente Rational Build Forge. Consulte o Instalando o Cliente Rational Build Forge.
  3. Conecte-se ao console do Rational Build Forge. Consulte o Conectando o Cliente ao Rational Build Forge.
  4. Crie bibliotecas no console do Rational Build Forge que representam as tarefas que você deseja executar.
    Usando este exemplo, você cria duas bibliotecas:
    • A primeira biblioteca chama-se Instalar Tomcat no Linux e contém os seguintes comandos para extrair os arquivos do Tomcat:
      cd /opt/tomcat/
      tar -xzf /opt/tomcat/apache-tomcat-5.5.27.tar.gz
    • A segunda biblioteca chama-se Instalar aplicativo da Web no Tomcat e contém os seguintes comandos para copiar o arquivo WAR de aplicativo da Web e reiniciar o servidor:
      cp /home/systemuser/HelloWorldWeb.war /opt/tomcat/webapps/
      /opt/tomcat/apache-tomcat-5.5.27/bin/shutdown.sh
      /opt/tomcat/apache-tomcat-5.5.27/bin/startup.sh
  5. Substitua os nomes de arquivos, nomes de pastas, informações de login e outras variáveis nos comandos por parâmetros; prefixe cada nome de parâmetro com um cifrão ($). Você pode ter quantos parâmetros forem necessários, e pode reutilizar parâmetros em diferentes comandos.
    Por exemplo, os comandos podem ser semelhantes a este:
    cd $TomcatDir
    tar -xzf $TomcatFile
    cp $WARFile $TomcatDir/webapps/
    $TomcatDir/apache-tomcat-5.5.27/bin/shutdown.sh
    $TomcarDir/apache-tomcat-5.5.27/bin/startup.sh
    A biblioteca é semelhante a esta:
    A etapa na biblioteca, com as variáveis substituídas por parâmetros
  6. Salve as bibliotecas.
  7. Crie uma assinatura de automação para cada biblioteca e importe os parâmetros a partir da biblioteca:
    1. Crie uma nova topologia de assinatura de automação clicando em Arquivo > Novo > Topologia e, em seguida, clicando em Implementação Básica > Topologia de Assinatura de Automação em Branco.
    2. Dê à topologia de assinatura de automação um nome, local e namespace. Em geral, as assinaturas de automação vão para a pasta de origem operations do projeto.
    3. Na visualização Propriedades, clique em Criar Assinatura de Automação.
    4. Nomeie a nova assinatura de automação com o mesmo nome que a biblioteca.
    5. Clique em Descobrir definição de automação e importe os parâmetros na biblioteca.
    6. Clique em Concluir.
  8. Na topologia de assinatura de automação, crie unidades que representam os sistemas afetados pela tarefa ou que interagem durante a tarefa.

    A topologia de assinatura de automação mostra apenas os detalhes pertinentes sobre a tarefa. Cada parte de informações especificada na topologia de assinatura de automação também deve ser especificada na topologia na qual executar a tarefa; portanto, é importante especificar apenas as informações necessárias.

    Para a primeira tarefa, instalar o Tomcat em um sistema Linux, as unidades importantes são as seguintes:
    • Novo servidor da Web Tomcat instalado pela tarefa automatizada
    • Sistema operacional no qual o servidor será instalado
    • Administrador que executa a tarefa
    • Arquivo de instalação para o servidor
    A figura a seguir mostra uma topologia de assinatura de automação que inclui estas unidades:
    Uma unidade de sistema Linux e de servidor da Web
    Estas unidades fornecem todas as informações necessárias para a tarefa. Por exemplo, a unidade do arquivo de instalação é necessária porque seu atributo URI fornece o local do arquivo de instalação Tomcat para o parâmetro TomcatFile. O usuário administrador fornece o nome de usuário e ID com os quais o ambiente de automação efetua login no sistema e executa os comandos.

    Esta topologia de assinatura de automação fornece um padrão para a tarefa e os pré-requisitos para a tarefa. Desta forma, é possível usar esta assinatura de automação apenas em topologias que possuem unidades que correspondem às unidades na topologia de assinatura de automação.

    Para a segunda tarefa, instalar um aplicativo da Web, as seguintes unidades estão incluídas na topologia de assinatura de automação:
    • Novo aplicativo da Web instalado pela tarefa automatizada
    • Servidor da Web no qual o aplicativo será instalado
    • Sistema operacional no qual a tarefa é executada
    • Administrador que executa a tarefa
    • Arquivo de instalação para o novo aplicativo da Web
    A figura a seguir mostra uma topologia de assinatura de automação que inclui estas unidades:
    Uma unidade de aplicativo da Web em uma unidade de servidor da Web
  9. Configure o estado de instalação de cada unidade para refletir como ela é afetada pela tarefa automatizada:
    • Se a unidade estiver presente antes e durante a tarefa, configure o estado de instalação como Instalada.
    • Se a tarefa automatizada instalar a unidade, configure o estado de instalação como A ser instalada.
    • Se a tarefa automatizada desinstalar a unidade, configure o estado de instalação como A ser desinstalada.

    Na primeira tarefa, instalar o Tomcat em um sistema Linux, a tarefa instala a unidade de servidor da Web, portanto esta unidade possui um estado de instalação de A ser instalada, conforme ilustrado na figura a seguir. As demais unidades serão consideradas presentes antes da execução da tarefa, incluindo o sistema operacional, administrador, pasta de instalação e arquivo de instalação. Para simplificar, esta assinatura de automação considera que a pasta de instalação foi criada e que o arquivo de instalação para o servidor da Web foi transferido por download para o sistema; uma tarefa automatizada mais avançada pode incluir etapas para criar a pasta necessária e fazer download do arquivo de instalação.

    A unidade do novo servidor da Web está configurada como A ser instalada, e as outras unidades estão configuradas como Instaladas

    Na segunda tarefa, instalar um aplicativo da Web no servidor da Web, o servidor da Web possui um estado de instalação de Instalado, e o novo aplicativo da Web possui um estado de instalação de A ser instalado.

    A unidade do novo aplicativo da Web está configurada como A ser instalada

  10. Na visualização Propriedades, na guia Assinatura, em Unidades, selecione as unidades a serem usadas ao corresponder cada assinatura de automação às topologias apropriadas. Em cada uma das assinaturas de automação de exemplo, selecione a unidade que possui um estado de instalação de A ser instalada, conforme mostrado na figura a seguir.
    A unidade do novo servidor da Web na lista de unidades a serem publicadas

    Esta lista de unidades fornece um ponto de início para as ferramentas de planejamento de implementação. Ao planejar executar tarefas automatizadas em uma topologia, você marca as unidades a serem alteradas nessa topologia como A serem instaladas; as ferramentas de planejamento de implementação procuram unidades correspondentes na lista Para Publicação nas assinaturas de automação. Na maioria das vezes, as unidades nesta lista são as unidades que possuem estados de instalação de A ser instalada ou A ser desinstalada.

  11. Especifique apenas as informações conhecidas sobre as unidades.

    Os valores de atributo especificados na topologia de assinatura de automação devem ter o mesmo valor na topologia na qual são executadas as tarefas automatizadas. Portanto, especifique apenas os valores que são sempre iguais para a tarefa automatizada.

    Neste exemplo, o único valor de atributo especificado é o nome de usuário do administrador, que é "root" na maioria dos sistemas Linux. Os demais valores de atributo são deixados em branco. Por exemplo, se você especificar um valor para o nome do host do sistema operacional Linux, a tarefa automatizada poderá ser executada apenas em sistemas com esse nome do host. Se você especificar a pasta de instalação para o servidor da Web, o servidor da Web sempre será instalado nessa pasta.

    Deixar valores não especificados desta forma pode causar mensagens de erros, de avisos ou informativas na topologia de assinatura de automação. É possível ignorar estes problemas, porque ao corresponder esta assinatura de automação a uma topologia, é possível usar os valores de atributo dessa topologia.

  12. Na visualização Propriedades, ligue os parâmetros importados a partir da biblioteca para os atributos correspondentes nas unidades.
    Por exemplo, a primeira assinatura de automação contém dois parâmetros:
    • TomcatDir, que representa a pasta na qual instalar o Tomcat
    • TomcatFile, que representa o arquivo de instalação para o Tomcat
    Neste caso, ligue o parâmetro TomcatDir ao atributo URI da unidade da pasta; ligue o parâmetro TomcatFile ao atributo installedLocation da unidade do servidor tomcat, como na figura a seguir.
    Configurando as ligações para os parâmetros

    Mais uma vez, os valores para estes parâmetros não são especificados na topologia de assinatura de automação. Durante a correspondência desta assinatura de automação a uma topologia, a assinatura de automação usa os valores dos atributos correspondentes nessa topologia.

    A outra assinatura de automação contém várias das mesmas unidades e novas unidades que representam o arquivo WAR e o aplicativo da Web a ser instalado, conforme mostrado na figura a seguir.

    A assinatura de automação que instala um aplicativo da Web

  13. Configure o agente de automação para a assinatura de automação, que representa as credenciais com as quais a tarefa automatizada é executada. Em cada uma das assinaturas de automação neste exemplo, o usuário administrador é o agente de automação.
  14. Salve as assinaturas de automação.

Aplicando as Tarefas a uma Topologia Criando um Fluxo de Trabalho

Agora que você tem assinaturas de automação que representam as tarefas, é possível aplicar estas assinaturas de automação a uma topologia para executar as tarefas. Você cria um fluxo de trabalho, que é uma lista ordenada de assinaturas de automação conforme aplicadas a uma topologia específica.

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

    Neste exemplo, a topologia pode ser semelhante à figura a seguir:

    O hardware e o sistema operacional no qual a tarefa é executada
    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 um servidor da Web e um aplicativo da Web neste sistema, incluindo unidades que correspondem às unidades na lista Para Publicação nas assinaturas de automação, conforme mostrado na figura a seguir.

    A topologia com a inclusão das unidades a serem instaladas

    Observe que estas unidades do novo servidor da Web e do novo aplicativo da Web estão configuradas como A serem instaladas. Estas unidades, bem como o restante das unidades na topologia, devem corresponder às unidades nas topologias de assinatura de automação.

  3. Salvar a topologia.
  4. 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 assinaturas de automação e a topologia
  5. Reconcilie as diferenças entre a topologia e as assinaturas de automação na área de trabalho. Para obter informações adicionais, consulte Erros Comuns ao Corresponder Assinaturas de Automação a Topologias.
  6. 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.
  7. Configure os valores de parâmetro para cada assinatura de automação, conforme mostrado na figura a seguir. Se você especificou valores na assinatura de automação, será possível usar esses valores; caso contrário, será possível especificar novos valores ou usar valores da topologia. Neste exemplo, os valores de parâmetro são especificados nos atributos e artefatos na topologia.
    O novo fluxo de trabalho de automação mostrando instâncias das duas assinaturas de automação aplicadas à topologia
  8. Configure os parâmetros para o fluxo de trabalho. É possível usar estes parâmetros no nível do fluxo de trabalho como os valores para os parâmetros nas assinaturas de automação.
  9. Salve o fluxo de trabalho.
  10. Quando o fluxo de trabalho estiver pronto para execução, publique-o conforme descrito em Publicando um Fluxo de Trabalho no Rational Build Forge e execute o projeto resultante.
  11. 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