CI及Shell(Hudson)

一、持续集成及其意义

二、配置

三、构建结束后发布到指定web server

shell script:

(1)部署war例子

#!/bin/bash
# $1 is project name (e.g., "MDM-Server")
# $2 is development host name
# $3 is context name
 
 
if [ $ # -lt 3 ] ; then
     echo "Usage: $0 <project> <host> <context> [module]"
     echo
     exit -1
fi
 
 
PROJECT=$1
DEV_HOST=$2
CONTEXT=$3
if [ $ # -gt 3 ] ; then
         MODULE=$4
fi
 
 
if [ "x${MODULE}" == "x" ] ; then
         ARTIFACT_SRC=` ls /var/lib/hudson/jobs/ ${PROJECT} /workspace/target/ *.war`
else
         ARTIFACT_SRC=` ls /var/lib/hudson/jobs/ ${PROJECT} /workspace/ ${MODULE} /target/ *.war`
fi
 
 
TOMCAT_DIR= "tomcat-${CONTEXT}"
 
 
ARTIFACT_DEST=builder@${DEV_HOST}: /opt/ ${TOMCAT_DIR} /webapps/ ${CONTEXT}.war
 
 
scp ${ARTIFACT_SRC} ${ARTIFACT_DEST}
 
 
if [ $? - ne "0" ] ; then
     exit 2
fi
(2)部署js到指定目录下,可由nginx代理

 

#!/bin/bash
# $1 is project name (e.g., "Domain-UI")
# $2 is resource server name
# $3 is context name
# $4 is javascript lib directory
 
 
if [ $ # -lt 4 ] ; then
     echo "Usage: $0 <project> <server> <context> <js_dir>"
     echo
     exit -1
fi
 
 
PROJECT=$1
RES_SERVER=$2
CONTEXT=$3
JSLIB_DIRNAME=$4
 
 
JSLIB_TAR=jslib. tar
 
 
cd /var/lib/hudson/jobs/ ${PROJECT} /workspace/src/main/webapp
tar cf ${JSLIB_TAR} ${JSLIB_DIRNAME}
 
 
REMOTE_DIR= /var/lib/web/oncloud/ ${CONTEXT}
 
 
scp ${JSLIB_TAR} builder@${RES_SERVER}:${REMOTE_DIR}/${JSLIB_TAR}
ssh ${RES_SERVER} "cd ${REMOTE_DIR} && tar xf ${JSLIB_TAR}"
ssh ${RES_SERVER} "rm -rf ${REMOTE_DIR}/2.0-SNAPSHOT; mv ${REMOTE_DIR}/${JSLIB_DIRNAME} ${REMOTE_DIR}/2.0-SNAPSHOT"
ssh ${RES_SERVER} "rm -f ${REMOTE_DIR}/${JSLIB_TAR}"
 
 
rm -f ${JSLIB_TAR}
 
 
if [ $? - ne "0" ] ; then
     exit 2
fi

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值