Ant-Build-Scripts für eine Buildintegration konfigurieren

Sie konfigurieren die im Lieferumfang von IBM® Rational Asset Manager enthaltenen Ant-Scripts für die Integration in eine Buildanwendung wie IBM Rational Build Forge oder ein anderes Builddienstprogramm.

Vorbereitende Schritte

  • Sie müssen die Eigenschaften in den Scripts definieren, um Ihre Rational Asset Manager-Systeminformationen anzugeben.
  • Zur Ausführung der Scripts 'Publish' und 'DownloadArtifactLinks' muss die JAR-Datei 'Ant-Contrib' im Bibliothekspfad installiert werden. Sie können die komprimierte Datei mit der JAR-Datei herunterladen. Weitere Einzelheiten finden Sie in den Installationsinformationen.
Anmerkung: Bei der Konfiguration der Ant-Build-Scripts für eine Buildintegration müssen Sie auf der Buildmaschine Ant 1.7.0 oder höher verwenden, um zu verhindern, dass bei der Ausführung der Scripts Klassenpfadfehler auftreten. Setzen Sie die Variable JAVA_HOME auf den Java™-Ordner und die Variable ANT_HOME auf das Ant-Installationsverzeichnis (die Version muss 1.7.0 oder höher sein). PATH und CLASSPATH brauchen Sie nicht zu definieren.

Vorgehensweise

  1. Erstellen Sie ein Buildprojekt (z. B. ein Rational Build Forge-Projekt). Wenn alle Tools, Bibliotheken und abhängigen Komponenten als Assets in Rational Asset Manager verfügbar sind, können Sie die mitgelieferten ANT-Scripts verwenden, um einen Build auf der Basis dieser Assets auszuführen. Diese Scripts können Sie auch mit anderen Builddienstprogrammen und -lösungen verwenden.
  2. Verwenden Sie die in Rational Asset Manager enthaltenen ANT-Scripts für das Buildprojekt, um Assets für den Build zu verwenden und die Buildergebnisse als neue Assets zu publizieren. Jedes Script verwendet Rational Asset Manager-Ant-Aufgaben. Für jedes Script müssen Sie die Datei ramclient.zip herunterladen und in einem Ordner entpacken und diesen Ordner im Ant-Bibliothekspfad einschließen, wenn Sie eines der Ant-Scripts ausführen. Die Datei ramclient.zip enthält ein Gruppe erforderlicher JAR-Dateien und Ant-Scripts und ist auf der Seite Erweiterungen jeder implementierten Rational Asset Manager-Serverinstanz verfügbar. Sie können auch über die folgende Adresse direkt auf diese Datei zugreifen: http://<Hostname>:<Port>/ram/ramclient.zip (z. B. http://<localhost>:<9080>/ram/ramclient.zip).
  3. Verwenden Sie das folgende Script, um Assets anzugeben, die für den Build verwendet werden sollen: ramDownloadAsset.xml

    Die Datei ramDownloadAsset.xml ist ein Ant-Beispielscript, das Assetinhalt (wie Artefakte) herunterlädt. Dieses Script kann in einem Buildprozess verwendet werden, in dem eine Gruppe freigegebener Bibliotheken oder ausführbarer Dateien für die Ausführung des Builds erforderlich ist (beispielsweise ein spezieller Compiler, allgemeine Komponenten oder allgemeine Scripts).

    Im Script DownloadAsset müssen die folgenden Eigenschaften definiert werden:
    • lib.dir = Das Verzeichnis, in das das Asset kopiert wird.
    • ram.url = Die URL für die Rational Asset Manager-Web-Service-Anwendung. (Klicken Sie im Rational Asset Manager-Web-Client auf das Symbol Hilfe und dann auf Erweiterungen, blättern Sie nach unten zum Abschnitt für Web-Services und suchen Sie das Feld Repository-Position.)
    • ram.user.uid = Die Benutzer-ID, die für den Rational Asset Manager-Server zu verwenden ist.
    • ram.user.passwd = Das Kennwort, das für den Rational Asset Manager-Server zu verwenden ist.
    • ram.asset.quid = Die eindeutige Kennung des Assets (d. h. die eindeutige ID auf der Assetseite in Rational Asset Manager).
    • ram.asset.version = Die Assetversion (d. h. die Version auf der Assetseite in Rational Asset Manager).
    • build.id = Anhand der Build-ID verfolgt Rational Asset Manager den Build, für den dieser Download ausgeführt wird.
    Beispiel: Ersetzen Sie diese Werte durch die Werte Ihres eigenen Assets, das heruntergeladen werden soll:
    <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" />
    Im Folgenden finden Sie optionale Eigenschaften, die an Rational Asset Manager übergeben werden, um den Download näher zu beschreiben:
    • build.type = Der Typ des Builds (z. B. "Täglicher RTC-Build").
    • build.team.area = Das Team oder Projekt, für das dieser Build ausgeführt wird (z. B. Rational Asset Manager-Projekt).
    • build.team.server = Der Server, der für die Änderungs- oder Quellcodeverwaltung für dieses Projekt oder Team verwendet wird.
  4. Verwenden Sie das folgende Script, um zugehörige Artefakte anzugeben, die für die Assets in diesem Build erforderlich sind: ramDownloadArtifactLinks.xml

    Die Datei ramDownloadArtifactLinks.xml ist ein Ant-Beispielscript, das Artefaktlinks in Eclipse-Projekten für Rational Asset Manager auflöst, indem es die Artefakte herunterlädt, auf die die Links zeigen. Dieses Script kann in einem Buildprozess verwendet werden, bei dem Quellcode aus einem SCM-System extrahiert wird und die extrahierten Projekte über Links zu Artefakten in Rational Asset Manager verfügen. In Eclipse verarbeiten die Client-Plug-ins für Rational Asset Manager diese Links automatisch.

    Dieses Script verwendet die Aufgabendienstprogramme von ANT-CONTRIB (http://ant-contrib.sourceforge.net/). Stellen Sie sicher, dass Sie die Datei ant-contrib-XXX.jar in den Bibliothekspfad einschließen.

    Im Script DownloadArtifactLinks müssen die folgenden Eigenschaften definiert werden:
    • build.dir = Der Eclipse-Arbeitsbereich, in dem sich die Dateien rambuildercontrol.xml befinden. Der Verzeichnispfad, in den alle Eclipse-Projekte extrahiert wurden (in der Regel aus einem SCM-System).
    • ram.url = Die URL für die Rational Asset Manager-Web-Service-Anwendung. (Klicken Sie im Rational Asset Manager-Web-Client auf Hilfe > Erweiterungen, blättern Sie nach unten zum Abschnitt für Web-Services und beachten Sie das Feld Repository-Position.)
    • ram.user.uid = Die Benutzer-ID, die für den Rational Asset Manager-Server zu verwenden ist.
    • ram.user.passwd = Das Kennwort, das für den Rational Asset Manager-Server zu verwenden ist.
    • ram.download.result.file = Optionaler Dateipfad. Ist dieser Wert definiert, ist auch eine Eigenschaft "ram.downloadlist" verfügbar, die eine durch Semikolons (";") getrennte Liste der heruntergeladenen Assets enthält. (Beispiel: GUID,Version,Artefakt,Artefakt;GUID,Version,Artefakt,Artefakt,Artefakt).
    Beispiel: Ersetzen Sie diese Werte durch die Werte Ihrer eigenen zugehörigen Assets, die heruntergeladen werden sollen:
    <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. Verwenden Sie das folgende Script, um die Buildergebnisse als neue Assets zu publizieren: ramPublishAsset.xml

    Die Datei ramPublishAsset.xml ist ein Ant-Beispielscript, das den Inhalt eines Assets in Rational Asset Manager publiziert. Dieses Script kann in einem Buildprozess verwendet werden, bei dem eine Gruppe generierter Artefakte in Rational Asset Manager als ein einziges Asset publiziert werden muss, das folgende Anforderungen erfüllen soll: Es soll Abhängigkeiten zu anderen Assets widerspiegeln, die zur Generierung dieses Assets verwendet wurden (z. B. Open-Source- bzw. allgemeine Komponenten, unterstützte Plattformen und Spezifikationen) sowie einen Link zu dem Objekt enthalten, das von diesem Build und publizierten Asset implementiert wird (z. B. eine Spezifikation, ein Release oder ein Entwurf).

    Dieses Script verwendet die Aufgabendienstprogramme von ANT-CONTRIB (http://ant-contrib.sourceforge.net/). Stellen Sie sicher, dass Sie die Datei ant-contrib-XXX.jar in den Bibliothekspfad einschließen.

    Im Script PublishAsset müssen die folgenden Eigenschaften definiert werden:
    • ram.url = Die URL für die Rational Asset Manager-Web-Service-Anwendung (die Repository-Position können Sie der Rational Asset Manager-Seite 'Hilfe/Erweiterungen' entnehmen).
    • ram.user.uid = Die Benutzer-ID, die für den Rational Asset Manager-Server zu verwenden ist.
    • ram.user.passwd = Das Kennwort, das für den Rational Asset Manager-Server zu verwenden ist.
    • ram.asset.version = Die Assetversion (d. h. die Version auf der Assetseite in Rational Asset Manager).
    • ram.asset.name = Der eindeutige Name des Assets.
    • ram.asset.community = Die Community, in die das Asset hochgeladen wird.
    • ram.asset.type = Der Typ, der für dieses Asset zu verwenden ist.
    • ram.asset.shortDescription = Die Kurzbeschreibung.
    • ram.asset.description = Die Beschreibung dieses Assets.
    • ram.asset.artifacts = Eine Archivdatei, die eine Verzeichnisstruktur aller zu publizierender Artefakte enthält.
    • ram.release.guid = Die eindeutige ID, zu der dieses Asset als Bestandteil eines Release gehört. Das Asset, zu dem eine Beziehung des Typs "Implementierung für" erstellt werden kann (bei der Publizierung eines Assets können Sie beispielsweise Beziehungen zwischen dem Asset und Spezifikationen, Release-Anforderungen etc. erstellen).
    • ram.release.version = Die Version des Assets des Typs "Implementierung für".
    • build.id = Anhand der Build-ID verfolgt Rational Asset Manager den Build, für den dieser Download ausgeführt wird; es kann sich um eine beliebige Zeichenfolge handeln.
    Beispiel: Ersetzen Sie diese Werte durch die Werte Ihrer eigenen Assets, die publiziert werden sollen:
    <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" />
    Im Folgenden finden Sie optionale Eigenschaften, die an Rational Asset Manager übergeben werden, um den Download näher zu beschreiben.
    • ram.download.result.file = Optionaler Dateipfad zu einer Datei, die vom Script ramDownloadArtifactLinks.xml erstellt wird. Ist dieser Wert definiert, erstellt das Script eine Abhängigkeitsbeziehung zu allen Assets, die in dieser Datei aufgelistet sind.
    • verify.state.name = Falls angegeben, prüft das Script, ob alle Dateien, die in ram.download.result.file aufgelistet sind, sich in diesem Status befinden (z. B. "Freigegeben").
    Die folgenden Informationen werden den hochgeladenen Artefakten hinzugefügt:
    • build.type = Der Typ des Builds (wie "Täglicher RTC-Build").
    • build.team.area = Das Team oder Projekt, für das dieser Build ausgeführt wird (z. B. Rational Asset Manager-Projekt).
    • build.team.server = Der Server, der für die Änderungs- oder Quellcodeverwaltung für dieses Projekt oder Team verwendet wird.
    • src.repository = Das Repository für die Quelle/ursprüngliche Datei, mit der dieses Asset entwickelt wurde.
    • build.id = Die Build-ID, mit der dieses Asset generiert wurde.
    • build.def.id = Der Typ des Builds, mit dem dieses Asset erstellt wurde.
    • build.label = Die Buildbeschreibung.
    • build.url = Die URL für den Link zu einem Build, mit dem dieses Asset generiert wurde.
    • src.repository = Die Repository-URL, die für die Entwicklung dieses Assets verwendet wurde.

Beispiel

Es folgt ein Beispiel für die Ausführung des Download-Scripts:
ant
-v -lib <Pfad der ramclient-JAR-Dateien> 
-file ramDownloadAsset.xml 
-Dlib.dir=<Position, an die die Artefakte heruntergeladen werden sollen> 
-Dram.url=<URL für die Repository-Position von der Seite 'Erweiterungen'> 
-Dram.user.id=<ram-Benutzer-ID> 
-Dram.user.passwd=<ram-Kennwort> 
-Dram.asset.quid=<GUID> 
-Dram.asset.version=<Version> 
-Dbuild.id=<Eine ID, die den Zweck dieses Downloads angibt>
Ein Beispiel für die Verwendung dieser Scripts finden Sie unter http://www.ibm.com/support/docview.wss?uid=swg27016509 oder http://www.ibm.com/developerworks/offers/lp/demos/summary/r-assetmanagerrbf.html.