Linux平台搭建Jenkins+Maven+Shell实现自动化构建部署
2016-03-24 11:45
1301 查看
切换到/usr/local/src路径
下载Jenkins官方war包(采用war包安装方式,启动tomcat即连jenkins一同启动,如链接失效请自行百度搜索Jenkins官网进行下载)
cd /usr/local/src
下载Jenkins官方war包(采用war包安装方式,启动tomcat即连jenkins一同启动,如链接失效请自行百度搜索Jenkins官网进行下载)
wget http://ftp.tsukuba.wide.ad.jp/software/jenkins/war/1.642/jenkins.war[/code]
下载JDK8(登陆JAVA官网下载JDK8的RPM包,如链接失效请自行百度搜索JDK官网进行下载)wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.rpm?AuthParam=1450231240_a268c960892022b130dab65f70029cf2[/code]下载完需要将文件名称修改为XXX.rpm结尾的文件才可安装例如JDK8.rpm
下载Tomcat7的tar包(目前Jenkins只支持tomcat7,tomcat8以上版本需等待Jenkins官方更新,如链接失效请自行百度搜索Tomcat官网进行下载)wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.67/bin/apache-tomcat-7.0.67.tar.gz[/code]
安装git工具yum install -y git
下载Maven(请下载以bin.tar.gz结尾的包,如链接失效请自行百度搜索Maven官网进行下载)wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz[/code]
下载Ant(请下载以bin.tar.gz结尾的包,如链接失效请自行百度搜索Ant官网进行下载)wget http://120.198.244.48:9999/mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.9.6-bin.tar.gz[/code]
安装JDK8rpm -ivh JDK8.rpm #安装rpm包java -version #查看安装成功后的java版本
添加环境变量vim /etc/profile添加以下内容:JAVA_HOME=/usr/java/jdk1.8.0_65JRE_HOME=/usr/java/jdk1.8.0_65/jrePATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport JAVA_HOME JRE_HOME PATH CLASSPATHvim /etc/bashrc添加以下内容:为后期Jenkins自动发布时调用shell做准备JAVA_HOME=/usr/java/jdk1.8.0_65JRE_HOME=/usr/java/jdk1.8.0_65/jrePATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport JAVA_HOME JRE_HOME PATH CLASSPATH
使环境变量立即生效source /etc/profilesource /etc/bashrc
安装Tomcattar -zxvf apache-tomcat-7.0.67.tar.gz #解压tomcat tar包mv apache-tomcat-7.0.67 /usr/local/tomcat7 #将tomcat目录移动到/usr/local/下并重命名为tomcat7
移动jenkins.war到tomcat webapps目录下并安装启动jenkinsmv /usr/local/src/jenkins.war /usr/local/tomcat7/webapps/cd /usr/local/tomcat7/webappsjava -jar jenkins.war #安装jenkins/usr/local/tomcat7/bin/startup.sh #启动tomcat
安装Mavencd /usr/local/srctar -zxvf apache-maven-3.3.9-bin.tar.gzmv apache-maven-3.3.9 /usr/local/maven
添加环境变量vim /etc/profile添加以下内容:MAVEN_HOME=/usr/local/mavenPATH=$PATH:$MAVEN_HOME/binexport PATH MAVEN_HOME
安装Antcd /usr/local/srctar -zxvf apache-ant-1.9.6-bin.tar.gzmv apache-ant-1.9.6 /usr/local/ant
添加环境变量vim /etc/profile添加以下内容:ANT_HOME=/usr/local/antPATH=$PATH:$ANT_HOME/binexport PATH ANT_HOMEsource /etc/profile #使环境变量立即生效
打开浏览器输入http://ServerIP:端口/jenkins进行访问jenkins
增加需要用到的插件:Deploy to container Plugin、GIT plugin、Maven Integration plugin、Publish Over SSH、SSH Slaves plugin、Subversion Plug-in,请用以下示范方法添加安装需要的插件
调整相关系统设置项,请自行找出列出的设置项并填写相关内容
到此Jenkins的系统设置即完成了,点击左下角的保存即可返回主页测试新建构建任务和发布,在新建构建任务的过程中要读取相应的源代码git库,因此首先要确保jenkins的服务器安装了git并且能顺利从git库中获取到相应的源代码才可以进行代码构建与发布。
云房使用了GitLab存放源代码,git地址为git@192.168.3.249:o2o/yf_EstimateMiddleware.git,要获取源代码首先要在jenkins服务端系统中/root/.ssh目录下生成一个公钥文件与私钥文件,将公钥文件的内容拷贝到GitLab中指定帐户的SSH密钥文本款中,看下图:
至此GitLab的权限添加完成,接着在jenkins服务端系统中测试拉取git库中的源代码文件,获取成功即可看到项目文件mkdir /home/testgitcd /home/testgitgit clone git@192.168.3.249:o2o/yf_EstimateMiddleware.git
新建构建任务
填写以下相应内容:
点击左下角保存后点立即构建,jenkins会进行编译安装与打包将项目生成一个包含项目名称.war结尾的包,构建完成后请点击工作空间--target即可看到项目名称.war的包
接着点击配置,继续配置构建后的发布操作,如下图:
到此jenkins构建发布任务配置完成,还需做一步在发布的目标服务器上/save目录中建立一个publish.sh名称的脚本并给予执行权限,编写以下内容:#!/bin/bash#定义变量TOMCAT_HOME="/usr/local/tomcat7"TOMCAT_PORT=80PROJECT="$1"#参数验证if [ $# -lt 1 ]; thenecho "you must use like this : ./publish.sh <projectname> [tomcat port] [tomcat home dir]"exitfiif [ "$2" != "" ]; thenTOMCAT_PORT=$2fiif [ "$3" != "" ]; thenTOMCAT_HOME="$3"fi#关闭 tomcat"$TOMCAT_HOME"/bin/shutdown.shecho "tomcat shutdown"#检查 tomcat 进程tomcat_pid=`/usr/sbin/lsof -n -P -t -i :$TOMCAT_PORT`echo "current :" $tomcat_pidwhile [ -n "$tomcat_pid" ]dosleep 5tomcat_pid=`/usr/sbin/lsof -n -P -t -i :$TOMCAT_PORT`echo "scan tomcat pid :" $tomcat_piddone#发布项目echo "scan no tomcat pid,$PROJECT publishing"rm -rf "$TOMCAT_HOME"/webapps/$PROJECT*cp /save/$PROJECT*.war "$TOMCAT_HOME"/webapps/$PROJECT.war#备份项目BAK_DIR=/save/bak/$PROJECT/`date +%Y%m%d`mkdir -p "$BAK_DIR"cp "$TOMCAT_HOME"/webapps/$PROJECT.war "$BAK_DIR"/"$PROJECT"_`date +%H%M%S`.war#删除项目.war包rm -rf /save/$PROJECT.war#启动 tomcat"$TOMCAT_HOME"/bin/startup.shecho "tomcat is starting,please try to access $PROJECT conslone url"
最后点立即构建测试构建及shell脚本发布项目
构建发布完成,请访问http://目标服务器IP/项目名称
PS:如果系统中禁用了root用户的情况下,请把相应项目名称的文件夹所属主与所属组全部修改为对应的用户名与用户组,否则发布会失败
相关文章推荐
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- shell 脚本 修改系统时间
- centos 防火墙 iptables 用shell代码来添加
- shell--内建命令--exec
- Linux shell 变量 数学 运算
- Bash空格的那点事
- 常用的shell脚本
- [Android] 为Android安装BusyBox —— 完整的bash shell
- shell 命令学习
- shell 随机从文件中抽取若干行的实现方法
- 关于shell的几个不为人知却十分有用的命令分享
- hadoop常用shell脚本总结
- shell学习(一)hello world
- -bash: ssh: command not found的解决办法
- windwos Power shell 查询组员
- Shell glob
- python(6)-执行shell命令
- 【shell编程基础1】shell变量篇
- CentOS6.5下通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户
- linux shell 统计不同类型文件数目