当前位置:   article > 正文

Linux平台搭建Jenkins+Maven+Shell实现自动化构建部署_jenkins shell execution maven脚本

jenkins shell execution maven脚本
  • 切换到/usr/local/src路径
 

cd /usr/local/src

  • 下载Jenkins官方war包(采用war包安装方式,启动tomcat即连jenkins一同启动,如链接失效请自行百度搜索Jenkins官网进行下载)
 

wget http://ftp.tsukuba.wide.ad.jp/software/jenkins/war/1.642/jenkins.war

  • 下载JDK8(登陆JAVA官网下载JDK8的RPM包,如链接失效请自行百度搜索JDK官网进行下载)
 

wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.rpm?AuthParam=1450231240_a268c960892022b130dab65f70029cf2

下载完需要将文件名称修改为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

  • 安装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

  • 下载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

  • 安装JDK8
 

rpm -ivh JDK8.rpm #安装rpm包

java -version #查看安装成功后的java版本

  • 添加环境变量
 

vim /etc/profile添加以下内容:

JAVA_HOME=/usr/java/jdk1.8.0_65

JRE_HOME=/usr/java/jdk1.8.0_65/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

 

vim /etc/bashrc添加以下内容:为后期Jenkins自动发布时调用shell做准备

JAVA_HOME=/usr/java/jdk1.8.0_65

JRE_HOME=/usr/java/jdk1.8.0_65/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

  • 使环境变量立即生效
 

source /etc/profile

source /etc/bashrc

  • 安装Tomcat
 

tar -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目录下并安装启动jenkins
 

mv /usr/local/src/jenkins.war /usr/local/tomcat7/webapps/

cd /usr/local/tomcat7/webapps

java -jar jenkins.war #安装jenkins

/usr/local/tomcat7/bin/startup.sh #启动tomcat

  • 安装Maven
 

cd /usr/local/src

tar -zxvf apache-maven-3.3.9-bin.tar.gz

mv apache-maven-3.3.9 /usr/local/maven

  • 添加环境变量
 

vim /etc/profile添加以下内容:

MAVEN_HOME=/usr/local/maven

PATH=$PATH:$MAVEN_HOME/bin

export PATH MAVEN_HOME

  • 安装Ant
 

cd /usr/local/src

tar -zxvf apache-ant-1.9.6-bin.tar.gz

mv apache-ant-1.9.6 /usr/local/ant

  • 添加环境变量
 

vim /etc/profile添加以下内容:

ANT_HOME=/usr/local/ant

PATH=$PATH:$ANT_HOME/bin

export PATH ANT_HOME

 

source /etc/profile #使环境变量立即生效

 

  • 增加需要用到的插件: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/testgit

cd /home/testgit

git 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=80

PROJECT="$1"

#参数验证

if [ $# -lt 1 ]; then

echo "you must use like this : ./publish.sh <projectname> [tomcat port] [tomcat home dir]"

exit

fi

if [ "$2" != "" ]; then

TOMCAT_PORT=$2

fi

if [ "$3" != "" ]; then

TOMCAT_HOME="$3"

fi

#关闭 tomcat

"$TOMCAT_HOME"/bin/shutdown.sh

echo "tomcat shutdown"

#检查 tomcat 进程

tomcat_pid=`/usr/sbin/lsof -n -P -t -i :$TOMCAT_PORT`

echo "current :" $tomcat_pid

while [ -n "$tomcat_pid" ]

do

sleep 5

tomcat_pid=`/usr/sbin/lsof -n -P -t -i :$TOMCAT_PORT`

echo "scan tomcat pid :" $tomcat_pid

done

#发布项目

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.sh

echo "tomcat is starting,please try to access $PROJECT conslone url"

最后点立即构建测试构建及shell脚本发布项目

构建发布完成,请访问http://目标服务器IP/项目名称

 

PS:如果系统中禁用了root用户的情况下,请把相应项目名称的文件夹所属主与所属组全部修改为对应的用户名与用户组,否则发布会失败


如文章对您有帮助,请打开支付宝扫码领取红包,就当做对作者的支持,谢谢

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/936274
推荐阅读
相关标签
  

闽ICP备14008679号