Configurando Scripts de Construção Ant para uma Integração de Construção

Configure os scripts Ant fornecidos com o IBM® Rational Asset Manager para integração com um aplicativo de construção, como o IBM Rational Build Forge ou outro utilitário de construção.

Antes de Iniciar

  • Você deve configurar as propriedades nos scripts para referenciar as informações do sistema Rational Asset Manager.
  • Para executar os scripts Publish e DownloadArtifactLinks, você deve instalar o arquivo Ant-Contrib .jar no caminho de biblioteca. É possível fazer download do arquivo compactado que contém o arquivo .jar e seguir as informações de instalação para obter mais detalhes.
Nota: Ao configurar os scripts de construção Ant para uma integração de construção, você deve usar o Ant 1.7.0 ou posterior na máquina de construção para evitar um erro de caminho de classe quando da execução dos scripts. Configure a variável JAVA_HOME para a pasta Java e configure a variável ANT_HOME para o diretório de instalação do Ant (que deverá ser 1.7.0 ou mais recente). Não é necessário configurar o CAMINHO ou o CAMINHO da CLASSE.

Procedimento

  1. Crie um projeto de construção (como um projeto do Rational Build Forge). Se as ferramentas, bibliotecas e componentes dependentes estiverem todos disponíveis nos recursos no Rational Asset Manager, será possível usar os scripts ANT fornecidos para executar uma construção baseada nesses recursos. Também é possível usar esses scripts com outros utilitários de construção e soluções.
  2. Use os scripts ANT fornecidos no Rational Asset Manager para o projeto de construção para usar os recursos na construção e para publicar os resultados de construção como novos recursos. Cada script usa as tarefas ANT do Rational Asset Manager. Para cada script, você deve fazer download do ramclient.zip, extraí-lo em uma pasta e incluir essa pasta no caminho de biblioteca ANT ao executar um dos scripts ANT. O arquivo ramclient.zip contém um conjunto de arquivos .jar e scripts ANT necessários e está disponível na página Extensões de qualquer instância do servidor Rational Asset Manager implementada. Também é possível acessá-lo diretamente a partir daqui: http://<hostname>:<port>/ram/ramclient.zip (como por exemplo http://<localhost>:<9080>/ram/ramclient.zip
  3. Para referenciar os ativos que serão usados na construção, use este script: ramDownloadAsset.xml

    O arquivo ramDownloadAsset.xml é um script Ant de amostra que faz download do conteúdo do ativo (como artefatos). Esse script pode ser usado em um processo de construção em que um conjunto de bibliotecas aprovadas ou arquivos executáveis são necessários para executar a construção (por exemplo: um compilador especial, componentes comuns ou scripts comuns).

    No script DownloadAsset, as seguintes propriedades devem ser atendidas:
    • lib.dir = Diretório no qual o recurso será copiado.
    • ram.url = URL para o aplicativo de serviço da Web do Rational Asset Manager (No Web client do Rational Asset Manager, clique no ícone Ajuda, clique em Extensões, role para baixo até a seção de serviços da Web e, em seguida, localize o campo Local do repositório).
    • ram.user.uid = A uid a ser usada ao usar o servidor Rational Asset Manager
    • ram.user.passwd = A senha a ser usada ao usar o servidor Rational Asset Manager
    • ram.asset.quid = Identificador exclusivo do recurso (ou seja, o ID exclusivo do Rational Asset Manager a partir da página do recurso).
    • ram.asset.version = Versão do recurso (ou seja, a versão do Rational Asset Manager a partir da página do recurso).
    • build.id = O id da Construção será usado pelo Rational Asset Manager para controlar a construção a qual esse download é destinado.
    Por exemplo, substitua esses valores pelo seu próprio recurso para fazer download:
    <property name="lib.dir"
    value="C:\libdir" />
    <property name="ram.url"
    value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="ram.asset.quid"
    value="{8141FA04-E837-FA50-7052-5269E7C6937C}" /> 
    <property name="ram.asset.version" value="1.0" />
    A seguir há propriedades opcionais que serão enviadas para o Rational Asset Manager para descrever para quê o download é destinado.
    • build.type = Qual é o tipo de construção (por exemplo, "Construção Diária do RTC").
    • build.team.area = Para qual equipe ou projeto essa construção é destinada (como por exemplo, projeto do Rational Asset Manager).
    • build.team.server = Servidor usado para a origem de controle ou de mudança desse projeto ou equipe
  4. Para referenciar os artefatos relacionados que serão necessários para os recursos referenciados na construção, use esse script: ramDownloadArtifactLinks.xml

    O arquivo ramDownloadArtifactLinks.xml é um script Ant de amostra que resolve os links de artefatos de projeto Eclipse para o Rational Asset Manager fazendo download dos artefatos aos quais os links apontam. Esse script pode ser usado em um processo de construção no qual o código de origem é extraído de um sistema SCM e no qual os projetos extraídos possuem links para artefatos no Rational Asset Manager. No Eclipse, os plug-ins do cliente para o Rational Asset Manager processarão esses links automaticamente.

    Esse script usa os utilitários de tarefa ANT-CONTRIB (http://ant-contrib.sourceforge.net/). Certifique-se de colocar o arquivo ant-contrib-XXX.jar no caminho da biblioteca.

    No script DownloadArtifactLinks, as seguintes propriedades devem ser configuradas:
    • build.dir = Área de trabalho do Eclipse na qual os arquivos rambuildercontrol.xml estão localizados. Caminho do diretório no qual todos os projetos Eclipse foram extraídos (normalmente a partir do sistema SCM).
    • ram.url = URL para o aplicativo de serviços da Web do Rational Asset Manager (no Web client do Rational Asset Manager, clique em Ajuda > Extensões, role para baixo para a seção de serviços da Web e consulte o campo Local do Repositório).
    • ram.user.uid = A uid a ser usada ao usar o servidor Rational Asset Manager
    • ram.user.passwd = A senha a ser usada ao usar o servidor Rational Asset Manager
    • ram.download.result.file = Caminho de arquivo opcional. Se configurado, também haverá a propriedade "ram.downloadlist" que manterá uma lista separada por ";" dos recursos transferidos por download. (Por exemplo, GUID,version,artifact,artifact;GUID,version,artifact,artifact,artifact).
    Por exemplo, substitua esses valores pelos seus próprios recursos para fazer download:
    <property name="ram.url"
    value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="build.dir" value="C:\Documents and
    Settings\Administrator\Desktop\RTC Workspace\" />
    <property name="ram.download.result.file"
    value="C:\BuildDir\publishresults" />
  5. Para publicar os resultados de construção como novos ativos, use este script: ramPublishAsset.xml

    O arquivo ramPublishAsset.xml é um script Ant de amostra que publica o conteúdo de um ativo no Rational Asset Manager. Esse script pode ser usado em um processo de construção, em que um conjunto de artefatos gerados precisa ser publicado no Rational Asset Manager como um recurso único, refletindo as dependências em outros recursos que foram usados para gerar esse recurso (por exemplo, componentes de origem/comuns abertos, plataformas suportadas e especificações) além de um link para implementações deste recurso construído e publicado (como uma especificação, release ou design).

    Esse script usa os utilitários de tarefa ANT-CONTRIB (http://ant-contrib.sourceforge.net/). Certifique-se de colocar o arquivo ant-contrib-XXX.jar no caminho da biblioteca.

    No script PublishAsset, as seguintes propriedades devem ser atendidas:
    • ram.url = URL para o aplicativo de serviços da Web do Rational Asset Manager (consulte a página de Ajuda/Extensão do Rational Asset Manager para obter o local do Repositório).
    • ram.user.uid = A uid a ser usada ao usar o servidor Rational Asset Manager
    • ram.user.passwd = A senha a ser usada ao usar o servidor Rational Asset Manager
    • ram.asset.version = Versão do recurso (ou seja, a versão do Rational Asset Manager a partir da página do recurso).
    • ram.asset.name = O nome exclusivo do recurso.
    • ram.asset.community = Comunidade a qual o recurso será transferido por upload.
    • ram.asset.type = Digite para usar esse recurso.
    • ram.asset.shortDescription = Descrição curta.
    • ram.asset.description = Descrição sobre esse recurso.
    • ram.asset.artifacts = Um archive que mantém uma estrutura de diretório de todos os artefatos a serem publicados.
    • ram.release.guid = O ID exclusivo ao qual esse recurso é relacionado como parte deste release. Um recurso para ser relacionado ao relacionamento "implementação para" (por exemplo, ao publicar um recurso, é possível relacionar o recurso às especificações, aos requisitos de release, etc.)
    • ram.release.version = A versão do recurso "implementação para".
    • build.id = O ID da Construção será usado pelo Rational Asset Manager para controlar a construção a qual esse download é destinado e pode ser qualquer cadeia.
    Por exemplo, substitua esses valores para publicar seus recursos:
    <property name="ram.url"
    value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="ram.asset.version" value="1.0" />
    <property name="ram.asset.name" value="Publish Script test" />
    <property name="ram.release.guid"
    value="{7198899C-3E2A-A3CE-2E76-68BC2A637AD2}" />
    <property name="ram.release.version" value="7.2" />
    <property name="build.id" value="1234" />
    A seguir há propriedades opcionais que serão enviadas para o Rational Asset Manager para descrever para quê o download é destinado.
    • ram.download.result.file = Caminho de arquivo opcional para um arquivo criado pelo script ramDownloadArtifactLinks.xml. Se configurado, o script colocará um relacionamento de dependência em todos os recursos listados nesse arquivo.
    • verify.state.name = Se especificado, o script verificará que todos os arquivos listados em ram.download.result.file estão neste estado (como por exemplo, "Aprovado").
    Os itens a seguir serão colocados como informações sobre os artefatos transferidos por upload:
    • build.type = Qual tipo de construção é esse (por exemplo, "Construção Diária do RTC").
    • build.team.area = Para qual equipe ou projeto essa construção é destinada (como por exemplo, projeto do Rational Asset Manager).
    • build.team.server = Servidor usado para a origem de controle ou de mudança desse projeto ou equipe
    • src.repository = Repositório para a origem/fonte com a qual esse recurso foi desenvolvido.
    • build.id = O ID de construção que gerou esse recurso.
    • build.def.id = O tipo de construção usado com o qual esse recurso será criado.
    • build.label = Descrição da construção.
    • build.url = URL para o link de uma construção com a qual esse recurso foi gerado.
    • src.repository = URL do repositório usado para desenvolver esse recurso.

Exemplo

A seguir há um exemplo da execução do script de download:
ant -v -lib <ramclient jars path> 
-file ramDownloadAsset.xml 
-Dlib.dir=<local do download dos artefatos> 
-Dram.url=<URL para o local do repositório a partir da página
Extensão> 
-Dram.user.id=<UID do ram> 
-Dram.user.passwd=<senha do ram > 
-Dram.asset.quid=<guid> 
-Dram.asset.version=<versão> 
-Dbuild.id=<Um ID que indica para quê esse download é destinado>
Para obter um exemplo de como esses scripts podem ser usados, consulte http://www.ibm.com/support/docview.wss?uid=swg27016509 ou http://www.ibm.com/developerworks/offers/lp/demos/summary/r-assetmanagerrbf.html