0

Hudsonの「Execute Shell」ステップで実行する必要のある自動展開スクリプトを開発中です。現在、スクリプトはparamを読み取ります
1. GroupId:ArctifactId:Version:Packaging(プロジェクトVahRoot:A:V:ハドソンジョブ設定で指定されているのpom.xmlからPのPARAM TcInstanceHudsonによる自動展開スクリプトのヘルプ

私はGを読み取るために必要Mavenized)
2サーバー名です。 HudsonはWORKSPACE env-varを提供していますが、現在実行中のpom名がpom.xyz.xmlであるシナリオが考えられるため、ワークスペース内のpom.xmlを検索することは難しくなります。 A:V:PのPARAMを

#!/bin/bash 

usage() 
{ 
echo "Usage: $0 -s-r-g-a-v-p-i"; 
exit 1; 
} 

if [ $# -lt 14 ] ; then 
usage; 
fi 

# ":" decides which options require an argument 
while getopts s:r:g:a:v:p:i: opt 
do 
case "$opt" in 
s) echo "hello $OPTARG"; 
serverName=$OPTARG;; 
r) echo "hello $OPTARG"; 
vahroot=$OPTARG;; 
g) echo "hello $OPTARG"; 
groupid=$OPTARG;; 
a) echo "hello $OPTARG"; 
artifactid=$OPTARG;; 
v) echo "hello $OPTARG"; 
version=$OPTARG;; 
p)echo "hello $OPTARG"; 
packagetype=$OPTARG;; 
i)echo "hello $OPTARG"; 
tcinstance=$OPTARG;; 
\?) usage;; 
esac 
done 
cd $vahroot 
echo "Now in $vahroot" 
source $vahroot/admin/env/vahenv.sh 
tcmgr.sh restart -t all 
echo "$?" 
if [ $? -ne 0 ] 
then 
echo "Exception occured" 
exit 1; 
fi 
version_chk="SNAPSHOT" 
if [[ $version =~ $version_chk ]] 
then 
echo "groupid is $groupid artifactid $artifactid version $version packagetype    $packagetype tcinstance $tcinstance" 
tcmgr.sh deploy -w nexus://snapshots:$groupid:$artifactid:$version:$packagetype -i  $tcinstance 
exit 0; 
else 
echo "groupid is $groupid artifactid $artifactid version $version packagetype  $packagetype tcinstance $tcinstance" 
tcmgr.sh deploy -w nexus://releases:$groupid:$artifactid:$version:$packagetype -i  $tcinstance 
exit 0; 
fi 

は、私はGを入力するようユーザーに求める必要がないように私のジョブで指定ポンポンの場所を与えるためにハドソンの設定を読んで助けを必要としています。

+0

POmと必要な情報を読み込んだjavaプログラムを書いたり、作業を行うMavenプラグインを書いたり、Hudson Pluginを書いてみてはどうでしょうか... – khmarbaise

答えて

0

ジョブを実行できるhudson(jenkins)にはいくつかのデプロイメントプラグインが用意されています。これはオプションではない場合があります:hudson環境変数WORKSPACEをスクリプトに渡すことができます。これは、ワークスペース内のpom.xmlを簡単に見つけることができるようにするためです。

+0

それでも可能ですが、 pom.xyz.xml、pom.abc.xmlなどで述べた複数のpom。現在のhudsonジョブで使用されているpomにアクセスし、すべてのGAVPパラメータを取得する必要があります。とにかくpomの場所を指定したhudsonの設定を読む方法はありますか? – tulasivk

+0

WORKSPACE変数は、実行中のジョブのワークスペースを指します。 hudsonジョブごとに1つビルドすると、pom.xmlは1つしかありません。 –

+0

そのショットを与えるだろう。別の質問ですが、「シェルを実行する」ステップの前に構築された成果物を参照できる方法はありますか?そうです、それは展開するアーティファクトを参照する点で非常に便利です。 – tulasivk

関連する問題