IBM® UrbanCode Deploy に、お使いのビルド・システムに対するソース構成タイプが無い場合、
udclient コマンド行クライアントを使用してコンポーネントを管理できます。
このタスクについて
このようにして
udclient クライアントを使用すると、ビルド・プロセスの一環として
IBM UrbanCode Deploy サーバーで、新規コンポーネント・バージョンのサーバーへのプッシュ、プロセスの開始、外部ソースへのリンクの追加、その他数多くのタスクを実行することができます。
そうすることで、ビルド・テクノロジーを変えることなく
IBM UrbanCode Deploy 内のコンポーネントの作業ができます。
手順
以下の汎用的なステップに従って、コマンド行クライアントを使用するコンポーネントをセットアップします。
- IBM UrbanCode Deploy で使用するビルドのコンポーネントを表す 1 つ以上のコンポーネントを作成します。
「新規コンポーネントの作成」 ウィンドウで以下のパラメーターを使用します。
- 「ソース構成タイプ」フィールドで、「なし」を選択します。
- 「バージョンの自動インポート」チェック・ボックスをクリアします。
- このウィンドウの残りのフィールドの入力を通常どおりに完了します。
- お使いのコンポーネントのビルド・スクリプトで、udclient クライアント・コマンドを呼び出すコードを追加して、コンポーネント・バージョンの作成と IBM UrbanCode Deploy サーバーへの成果物のアップロードを行います。 ほとんどの場合、バージョンの作成に複数の異なるコマンドを使用します。
以下のステップは、使用する可能性のあるいくつかのコマンドの例を示しています。
注: これらのサンプルでは、Apache Ant ビルド・ファイルのコードを使用します。
特に、udclient クライアントへの呼び出しは、外部プログラムを呼び出す Ant <exec> コマンドを使用して行われています。
異なるビルド・テクノロジーを使用している場合は、udclient クライアントを呼び出すために、この例をお使いのビルド・テクノロジーに適応させる必要があります。
- 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>
- 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>
- オプション: コンポーネント・バージョンからのリンクを追加します。 addVersionLink コマンドを使用して、バージョンから外部ビルド・リソース (ビルド結果に関する情報を示すページなど) へのリンクを追加することができます。
これらのリンクは、コンポーネント・バージョンの情報ページの上部に表示されます。
以下の図は、ソース・コード管理システム内の関連ビルド・ジョブおよび関連ビルド結果へのリンクを含むコンポーネント・バージョンを示しています。 例えば、以下のコードは 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 コマンドを使用してアプリケーション・プロセスを開始することができます。