0

허드슨의 "쉘 실행"단계에서 실행해야하는 자동 배포 스크립트를 개발 중입니다. 현재 스크립트는 파라미터
을 읽습니다. 1. GroupId : ArctifactId : Version : Packaging (프로젝트
2. Servername : VahRoot : TcInstance허드슨 자동 배포 스크립트 도움말

허드슨 작업 구성에 지정된 pom.xml에서 G : A : V : P 매개 변수를 읽어야합니다. 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 및 필요한 정보를 읽거나 작업을 수행하거나 Hudson Plugin을 작성하는 자바 프로그램을 작성하지 않으시겠습니까? – khmarbaise

답변

0

작업을 수행 할 수있는 hudson (jenkins)에 사용할 수있는 몇 가지 배포 플러그인이 있습니다. 이 옵션이없는 경우 : hudson 환경 변수 WORKSPACE을 스크립트에 전달할 수 있으며 작업 영역에서 pom.xml을 쉽게 찾을 수 있어야합니다.

+0

글쎄, 할 수 있습니다.하지만 작업 영역에 포함될 수 있습니다. 여러 pom pom.xyz.xml, pom.abc.xml 등 언급했다. 나는 현재의 허드슨 작업에 사용 된 pom에 도착한 다음 모든 GAVP 매개 변수를 검색해야합니다. 어쨌든 pom 위치를 지정했을 hudson 구성을 읽을 수있는 방법이 있습니까? – tulasivk

+0

WORKSPACE 변수는 실행중인 작업의 작업 공간을 가리 킵니다. hudson 작업 당 1 개를 빌드하면 1 개의 pom.xml 만 갖게됩니다. –

+0

오케이. 그걸 줄 것입니다. 또 다른 질문은 "쉘 실행"단계 이전에 작성된 이슈를 참조 할 수있는 방법이 있습니까? 그렇습니다, 그것은 배포 될 이슈를 언급하는 측면에서 매우 유용 할 것입니다. – tulasivk