目前我正在使用Control-M来运行Control-M作业。
并且来自其他团队的当前项目正在使用Hudson来触发Spring Batch作业。
我知道Control-M作业可以转换为Spring Batch作业,但我想知道是否有可能由Hudson代理触发Control-M作业?
谢谢!
答案 0 :(得分:2)
简短的回答是肯定的。我经常使用Jenkins使开发人员能够运行Control M作业。只要允许Jenkins / Hudson用户运行作业,就可以通过这种方式避免整个自助服务配置。
#Run job and capture order number
OUTPUT="$(${controlm_path}/ctm/exe/ctmorder -TABLE "${TABLE_NAME}" -NAME "${JOB_NAME}" -ODATE "$(date +%Y%m%d)" -FORCE y -autoedit %%PARM1 ${server} -autoedit %%PARM2 ${action} )"
echo "${OUTPUT}"
ORDERNUM="$(echo "$OUTPUT" |grep orderno= |cut -f 3 -d , | cut -f 2 -d \' )"
echo "Order Number: $ORDERNUM"
#Get all job statusses and check if the state of our job is in "Post pro" status (that means it is done)
STATUS_LINE=$(${controlm_path}/ctm/exe/ctmpsm -LISTALL TIME | grep "$ORDERNUM.*Post pro")
${controlm_path}/ctm/exe/ctmpsm -LISTSYSOUT ${ORDERNUM} > logs/mylog.log
${controlm_path}/ctm/exe/ctmkilljob -ORDERID $ORDERNUM
这4个基本命令我有一个简洁的小shell脚本,我在安装了ControlM客户端的unix机器上运行。