`

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

 

分享到:
评论

相关推荐

    Hudson_CI:PHP持续集成

    NULL 博文链接:https://zhengdl126.iteye.com/blog/1169472

    Hudson平台搭建及使

    Hudson 是一种革命性的开放源码 CI (持续集成)服务器,它从以前的 CI 服务器吸取了许多经验教训。Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的 CI ...

    hudson学习教程Hudson安装与使用,Hudson配置,Hudson插件

    Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件...

    CI持续集成服务器 hudson 使用备忘1

    Hudson homepage: http://hudson-ci.org/ 从这个地址下载下hudson 的war包,hudson是一个web应用.其中自

    基于Hudson的CI环境搭建

    项目基于hudson的CI环境搭建的培训文档

    持续集成工具hudson配置和使用介绍

    Hudson 是一种革命性的开放源码 CI 服务器,它从以前的 CI 服务器吸取了许多经验教训。Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的 CI 服务器。...

    hudson 使用说明

    Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的CI 服务器。Hudson 容易使用的第二个原因是它具有强大的插件框架 ,所以很容易添加特性。例如,一个 ...

    hudson平台搭建及使用

    hudson平台搭建及使用hudson平台搭建及使用

    Hudson(CI_Part1)

    希望大家觉得好用就行,不用描述,需要的人都知道,一款非常轻量级的CI工具

    m2eclipse-hudson插件

    eclipse集成hudson Ci服务器的插件

    hudson-3.3.1.war

    For Production use, Hudson 3.3.1 from the Eclipse Foundation is now available. This WAR file is suitable for any O/S. We recommend that users of 3.0, 3.1, 3.2 or 3.3.0 upgrade to this release. his ...

    Hudson平台搭建及使用

    Hudson平台搭建及使用,作为项目管理及配置来说,用它不错

    hudson自动构建文档

    hudson安装及其配置 hudson平台搭建及使用 Hudson使用参考手册 关于hudson远程自动构建发布 使用hudson_搭建daily_build_系统

    持续集成工具之Hudson

    在本教程中,讲解如何安装、配置和使用 Hudson 作为 CI 服务器,但是要记住,CI 远不只是个工具。实际上,使用的工具可能是 CI 比较次要的方面,因为 CI 工具所做的仅仅是在代码存储库中探测到修改时运行构建。构建...

    hudson使用及插件介绍

    hudson使用的一些心得及总结,简单介绍hudson使用中任务建立及注意事项

    Hudson持续集成服务器的安装配置和使用

    Hudson持续集成服务器的安装配置和使用

    Hudson的持续集成指南.pdf

    目前较为流行的CI持续测试工具。基于web,配置简单。较之TeamCity等有着较为明显的优势。 本文非常详细的描述了Hudson的配置和应用。对持续集成CI感兴趣的童鞋可以看看。

    hudson-3.2.2.war

    hudson-3.2.2 放在tomcat下直接打开即可

    集成工具hudson与maven2的Hudson 安装及配置.docx

    集成工具hudson与maven2的Hudson 安装及配置

    Hudson持续集成

    Hudson 是一个可扩展的持续集成引擎。 主要用于: 1.持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。 2.监控一些定时执行的任务。 Hudson拥有的特性包括: •易于安装-只要把hudson.war部署到...

Global site tag (gtag.js) - Google Analytics