linux hudson svn,Hudson Maven SVN快速搭建持续集成环境
Maven
跨平台的项目管理工具
Apache组织中颇为成功的开源项目
服务于Java平台的项目构建,依赖管理和项目信息管理
持续集成
快速
高频率
自动
构建
所有源码
反馈
目前最流行的开源持续集成工具 http://hudson-ci.org
下面简单介绍一下Hudson Maven SVN快速搭建持续集成环境的过程,这里是基于maven的java项目配置的。
准备工作,安装maven,hudson,jdk,更新hudson的ssh,deploy,scp等插件。
hudson配置
配置maven
配置jdk
配置SSH(需要装SSh插件)
配置邮件通知
创建集成任务
选择创建一个自由风格的job,填写基本信息后需要配置一下参数:
集成任务与具体svn项目关联
集成任务的触发条件(inux crontab一样),不选择的情况下只能手动触发
构建任务配置,配置这次任务要触发的操作,可以是maven任务,ant,shell命令等等
集成完成后选择邮件通知
部署到私服
通过配置maven项目中的pom.xml中Nexus的宿主仓库地址,通过mvn的deploy命令就可以生产版本,部署构建或项目至私服
部署到服务器
方式一:通过hudson的插件Deploy war/ear to a container ,要求服务器自带manager控制台(http)
方式二: Publish artifacts to SCP Repository ,通过scp插件实现war包上传到服务器,结合执行脚本实现war报的的解压,服务器重启等工作(scp)
方式三:Execute shell script on remote host using ssh ,完全通过shell,rsync同步构建项目后生产的war包到服务器相应目录下,重启服务器(ssh rsync)
方式三shell脚本比较麻烦些,见下面:
deploy.sh:
#!/bin/bash
/home/rescenter/export1.sh
TOMCAT_DIR=/home/rescenter/manager/apache-tomcat-6.0
cd /home/rescenter/manager/manager
chmod -R 755 manager-1.0.war
jar -xf manager-1.0.war
pid=`ps -ef|grep "$TOMCAT_DIR "|grep -v grep|awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
cd $TOMCAT_DIR/bin
. ./myconfig.sh
./startup.sh
echo 'ok'
export1.sh
#!/usr/bin/expect
set timeout 30
spawn rsync -a tmg@219.239.*.*:/home/tmg/.hudson/jobs/rescenter/workspace/target/manager-1.0.war /home/rescenter/manager/manager
expect "tmg@219.239.*.*'s password:"
send "password/r"
interact
总结:
带来的好处:
减少风险(尽早发现缺陷并修复缺陷)
减少重复的过程(代码编译,数据库集成,测试,评审,部署,信息反馈)
产生可部署的软件(任一点产生可以安装的软件包)
使得项目更加透明(可以查看构建历史和项目变更)
阻止团队使用持续集成的因素
太多的变更(改变现有的开发习惯和修改旧项目)
太多失败的构建(提交到svn代码要在本地构建成功后提交)
额外硬件成本(独立的集成构建主机)
maven学习曲线较陡
linux hudson svn,Hudson Maven SVN快速搭建持续集成环境相关推荐
- 基于 Jenkins 快速搭建持续集成环境--转
源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...
- 基于 Jenkins 快速搭建持续集成环境
持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...
- 基于Jenkins快速搭建持续集成环境
看了园友张善友的博文,尝试成功.便有此作.原网址: 基于 Jenkins 快速搭建持续集成环境 天下事有难易乎?为之,则难者亦易矣:不为,则易者亦难矣. 首先要学会使用MSBuild构建脚本 附网址: ...
- 基于Jenkins 快速搭建持续集成环境
2019独角兽企业重金招聘Python工程师标准>>> 持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开 ...
- Jenkins+Maven+SVN快速搭建持续集成环境
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...
- Jenkins+Maven+SVN快速搭建持续集成环境(转)
一.安装Jenkins 地址http://mirrors.jenkins-ci.org/下载适合的Jenkins版本. Windows最新稳定版的Jenkins地址为:http://mirrors.j ...
- Jenkins+Maven+Git+Tomcat搭建持续集成环境,自动打包部署详细教程
服务器系统 centOS 8.2 1. 运行环境安装 1.1 安装 jdk 上传安装包,然后解压 [root@ianly ~]# tar -zxvf jdk-8u144-linux-x64.tar.g ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...
- Jenkins+Svn搭建持续集成环境和自动部署
Jenkins+Svn搭建持续集成环境和自动部署 一.环境说明 centos 6.8 ip:192.168.1.26 二.运行环境配置 1.安装java环境,下载jdk并放在/usr/loca ...
最新文章
- LightOJ1245-Harmonic Number (II) 【数学调和级数】
- 序列化的高阶认识-Transient 关键字
- 10分钟精通SharePoint-验证方式
- 【牛客 - 303K第十五届浙江大学宁波理工学院程序设计大赛(同步赛)】Technology Tree(树形dp,tricks)
- 80网口打印机ip固定工具_打印机网络打印
- 初学Java,LinkedList功能最全的集合类
- c#期末考试知识点_c#期末考试复习题及答案
- 最简短的加入收藏代码
- 十字线阵---CBF,传统波束形成
- 收款收据设计html,统一收款收据打印软件怎么制作收据 制作打印的方法
- 2022年全球市场凝胶渗透色谱系统总体规模、主要生产商、主要地区、产品和应用细分研究报告
- Wii 补充运动利器
- 基于JTT808协议的车联网网关中间件
- python 断言方法_Python3断言
- implement在JAVA中_java中的implement
- matlab 打开avi,Matlab读取avi视频并播放 你必须要知道的
- Linux中的pushd和popd
- python解决数据框中添加一行或者一列(DataFrame的行列处理)
- 网站推荐及个性化桌面软件推荐
- Qt ECG Monitor Qt嵌入式床旁心电监护仪项目源码