一、持续集成及其意义
二、配置
三、构建结束后发布到指定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
|
相关推荐
持续集成(Continuous Integration,简称CI)是一种软件开发实践,旨在频繁地将代码变更合并到共享的主分支(通常是项目的“main”或“master”分支),并自动运行构建和测试流程。这样可以尽早发现并解决集成错误,...
Eclipse Hudson是用Java编写的持续集成(CI)工具,它在servlet容器(例如Apache Tomcat或GlassFish应用服务器)中运行。它支持SCM工具,包括CVS,Subversion,Git和Clearcase,并可以执行基于Apache Ant和Apache ...
首先,要安装Jenkins,你可以访问其官方网站 <http://jenkins-ci.org/> 下载最新版本的 `jenkins.war` 文件。这其实是一个可执行的WAR包,可以直接通过Java运行。例如,输入以下命令即可启动Jenkins: ```bash java...
为您提供Hudson 持续集成工具下载,Eclipse Hudson是用Java编写的持续集成(CI)工具,它在servlet容器(例如Apache Tomcat或GlassFish应用服务器)中运行。它支持SCM工具,包括CVS,Subversion,Git和Clearcase,并...
"jshu"是一个专为Shell脚本设计的简化单元测试框架,它使得在Jenkins或Hudson等CI/CD环境中进行Shell脚本的测试变得更为便捷。 ### 1. Jenkins与Hudson的关系 Jenkins起源于Hudson,两者都是开源的持续集成工具。...
- `.travis.sh` 和 `.travis.yml`:Travis CI是另一个流行的持续集成平台,这两个文件分别包含了Travis CI的Shell脚本和配置文件,定义了构建和测试过程的步骤。 - `classes`:通常包含项目的源代码,按照类或模块...
Jenkins 是一款开源 CI/CD 软件,用于自动化构建、测试和部署软件。它的核心是持续集成、持续交互和持续部署。学习 Jenkins 需要了解其历史、安装、使用和原理。 一、Jenkins 的历史 Jenkins 的前身是 Hudson,...
通过合理配置和利用这些脚本,可以显著提升团队的开发效率,保证软件质量,并实现持续集成和持续交付(CI/CD)的最佳实践。在实际工作中,我们需要根据项目需求和团队习惯来定制合适的脚本和Jenkins配置,以达到最佳...
它的前身是Hudson,并且随着时间的发展,它不仅成为了CI领域的领头羊,还在持续交付(CD)方面有着广泛的应用。Jenkins支持多种编程语言,包括Java、C#、PHP等,同时还兼容Ant、Maven、Gradle等构建工具,能够与SVN、...
在现代软件开发中,持续集成(Continuous Integration,简称CI)已经成为提升效率、保障质量的重要手段。本文将详细讲解如何利用Jenkins、Maven、SVN和Tomcat等工具进行网站的持续集成实践,以实现代码的自动上传与...
-n, --diff-only Create diff, but do not send to Hudson -v, --verbose Verbose (show shell commands as they're run) -p, --patch ... Path to patch file to use instead ...
随着自动化构建与持续集成(CI/CD)在软件开发过程中的普及,Jenkins作为一款强大的开源工具,成为了许多团队的选择。为了更好地实现自动化流程,将Python与Jenkins进行结合变得尤为重要。本文将详细介绍如何使用...
Jenkins 是一款开源、免费的持续集成(Continuous Integration, CI)服务器,原名为 Hudson,后因社区原因更名为 Jenkins。它支持多种平台,并且能够以 Master/Slave 架构运行,实现分布式构建任务。Jenkins 的主要...
- **GitLab Plugin**:通过模拟 GitLab CI 服务器来集成 GitLab 和 Jenkins。 - **Hudson SCP Publisher Plugin**:使用 SCP(SSH)协议上传构建工件到存储站点。 - **Javadoc Plugin**:为 Jenkins 添加 Javadoc ...