コマンド行クライアントを使用したコンポーネントの作成

IBM® UrbanCode Deploy に、お使いのビルド・システムに対するソース構成タイプが無い場合、 udclient コマンド行クライアントを使用してコンポーネントを管理できます。

始める前に

クライアントをインストールするには、コマンド行クライアントのインストールを参照してください。

このタスクについて

このようにして udclient クライアントを使用すると、ビルド・プロセスの一環として IBM UrbanCode Deploy サーバーで、新規コンポーネント・バージョンのサーバーへのプッシュ、プロセスの開始、外部ソースへのリンクの追加、その他数多くのタスクを実行することができます。 そうすることで、ビルド・テクノロジーを変えることなく IBM UrbanCode Deploy 内のコンポーネントの作業ができます。

手順

以下の汎用的なステップに従って、コマンド行クライアントを使用するコンポーネントをセットアップします。

  1. IBM UrbanCode Deploy で使用するビルドのコンポーネントを表す 1 つ以上のコンポーネントを作成します。 「新規コンポーネントの作成」 ウィンドウで以下のパラメーターを使用します。
    • 「ソース構成タイプ」フィールドで、「なし」を選択します。
    • 「バージョンの自動インポート」チェック・ボックスをクリアします。
    • このウィンドウの残りのフィールドの入力を通常どおりに完了します。
  2. お使いのコンポーネントのビルド・スクリプトで、udclient クライアント・コマンドを呼び出すコードを追加して、コンポーネント・バージョンの作成と IBM UrbanCode Deploy サーバーへの成果物のアップロードを行います。 ほとんどの場合、バージョンの作成に複数の異なるコマンドを使用します。 以下のステップは、使用する可能性のあるいくつかのコマンドの例を示しています。
    注: これらのサンプルでは、Apache Ant ビルド・ファイルのコードを使用します。 特に、udclient クライアントへの呼び出しは、外部プログラムを呼び出す Ant <exec> コマンドを使用して行われています。 異なるビルド・テクノロジーを使用している場合は、udclient クライアントを呼び出すために、この例をお使いのビルド・テクノロジーに適応させる必要があります。
    1. createVersion コマンドを使用して新規バージョンを作成します。 以下のコード例では、mycomponent という名前のコンポーネントのバージョンを作成します。 バージョン名は、ビルドのタイム・スタンプに設定されます。 変数の ${udclient.weburl}${udclient.username}、および ${udclient.password} は、サーバーの URL、ユーザー名、およびパスワードを表します。
      <exec executable="/bin/bash" 
        outputproperty="mycomponent.component.output">
      
        <arg value="/opt/udclient/udclient"/>
      
        <arg value="-weburl"/>
        <arg value="${udclient.weburl}"/>
      
        <arg value="-username"/>
        <arg value="${udclient.username}"/>
      
        <arg value="-password"/>
        <arg value="${udclient.password}"/>
      
        <arg value="createVersion"/>
      
        <arg value="-component"/>
        <arg value="mycomponent"/>
      
        <arg value="-name"/>
        <arg value="${buildTimestamp}"/>
      
      </exec>
    2. addVersionFiles コマンドを使用して、成果物をコンポーネント・バージョンにアップロードします。 以下のコード例では、${destdir} フォルダー内のファイルをバージョンにアップロードします。
      <exec executable="/bin/bash">
      
        <arg value="/opt/udclient/udclient"/>
        
        <arg value="-weburl"/>
        <arg value="${udclient.weburl}"/>
        
        <arg value="-username"/>
        <arg value="${udclient.username}"/>
        
        <arg value="-password"/>
        <arg value="${udclient.password}"/>
        
        <arg value="addVersionFiles"/>
        
        <arg value="-component"/>
        <arg value="mycomponent"/>
        
        <arg value="-version"/>
        <arg value="${buildTimestamp}"/>
        
        <arg value="-base"/>
        <arg value="${destdir}"/>
        
      </exec>
    3. オプション: コンポーネント・バージョンからのリンクを追加します。 addVersionLink コマンドを使用して、バージョンから外部ビルド・リソース (ビルド結果に関する情報を示すページなど) へのリンクを追加することができます。 これらのリンクは、コンポーネント・バージョンの情報ページの上部に表示されます。 以下の図は、ソース・コード管理システム内の関連ビルド・ジョブおよび関連ビルド結果へのリンクを含むコンポーネント・バージョンを示しています。
      「リンク」セクションに 2 つのリンクを含むコンポーネント・バージョン
      例えば、以下のコードは URL http://build.example.com/projects/mycomponent/${buildResultUUID} にあるビルド結果ページへのリンクを追加します。
      <exec executable="/bin/bash">
      
        <arg value="/opt/udclient/udclient"/>
        
        <arg value="-weburl"/>
        <arg value="${udclient.weburl}"/>
        
        <arg value="-username"/>
        <arg value="${udclient.username}"/>
        
        <arg value="-password"/>
        <arg value="${udclient.password}"/>
        
        <arg value="addVersionLink"/>
        
        <arg value="-component"/>
        <arg value="mycomponent"/>
        
        <arg value="-version"/>
        <arg value="${buildTimestamp}"/>
        
        <arg value="-linkName"/>
        <arg value="External build result"/>
        
        <arg value="-link"/>
        <arg value="http://build.example.com/projects/mycomponent/${buildResultUUID}"/>
        
      </exec>

タスクの結果

外部ビルド・ツールでビルドを実行すると、そのビルド・プロセスはコンポーネント・バージョンを作成し、そのバージョンの成果物を IBM UrbanCode Deploy サーバーにアップロードします。 この時点から、サーバー上で通常どおりコンポーネントとバージョンに対する作業 (プロセスの実行など) を行うことができます。

また、ビルド・スクリプトに他のコマンドを追加することもできます。 例えば、requestApplicationProcess コマンドを使用してアプリケーション・プロセスを開始することができます。


フィードバック