终于完成自动化打包部署环境了


实验环境

centos7.2

jdk-7u79-linux-x64.rpm

apache-tomcat-7.0.61.tar.gz

jenkins.war

apache-maven-3.3.9-bin.zip

以上是需要的软件包


首先安装java

rpm -ivm jdk-7u79-linux-x64.rpm

vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_79

export CLASSPATH=$JAVA_HOME/lib/tools.jar

export JAVA_HOME CLASSPATH

source /etc/profile

以上是设置jdk的环境变量


启动tomcat

tar -zxvf  apache-tomcat-7.0.61.tar.gz

cp -r apache-tomcat-7.0.61 jenkins

cd jenkins

rz -e jenkins.war

./statup.sh

启动jenkins

在浏览器里输入192.168.55.28:8080进入jenkins

系统管理-----管理插件

找到搜索框输入Publish Over SSH

wKioL1c3J22yAIm2AAFNc_4nrIY821.jpg

开始更新所有插件

在系统管理------系统设置

设置jdk环境变量

wKioL1c3KR7AVxEuAACwtpA7VQw983.jpg设置maven环境变量

wKiom1c3KGPChKj9AADEFqUxJoQ685.jpg

以上环境变量都是自己安装的,不要勾选自动安装

开始设置远程机器

publish over ssh

wKioL1c3KjCCFH9CAAFxpyIiG_4316.jpg说明一下:

Name:远程主机的名字

Hostname:远程主机的IP地址

Username:远程主机的用户名

Remote Directory:远程主机存储war包的文件位置,使用绝对路径。

点击高级

wKioL1c3K1jyZ6iuAABh-TijSxw643.jpg

就会弹出输入密码

wKiom1c3KueDxGnmAAD6BEKVrr4824.jpg

一定要点这个勾就可以输入密码了

已经基本上就算是设置完成了


开始创建构建工程

wKioL1c3LIiDP8sIAAJ12WPjgO8183.jpg源码管理,我这里使用的svn的源码管理方式,使用http方式。

网上有很多svn+http方式的文章请参考他们的文章即可。

wKiom1c3LM3zfBH7AAEitV9v7hU376.jpg

其它选项均保持默认即可

远程的主机该上场了

wKiom1c3LbOy2d5eAABxnxmgxkk494.jpg

选择最后一项 


wKioL1c3LsjRQH2uAADjYDR3YwE531.jpg

wKioL1c3L3PiXfAjAAGdbmTOkIM819.jpg

Name:就选择要远程的主机

Transfer Set Source files :**/*.war

Remove prefix:空着就好了

Remote directory:空 因为我们在publish over ssh里面已经填写过了

Exec command:执行远程主机的shell脚本

shell脚本就是

#!/bin/bash

soft/jenkins-cms/bin/shutdown.sh   #关闭tomcat工程

cp /soft/save/target/dms.war /soft/jenkins-cms/webapps/   #拷贝包到webapps

/soft/jenkins-cms/bin/startup.sh && tail -f /soft/jenkins-cms/logs/catalina.out  #启动脚本并显示catalina输出日志

最后保存,构建开始


以上就是jenkins自动构建的过程


还没有做到自己满意的地方,后续会加入自动保存就工程等等。主要的功能已经实现了,未来打包和发布都已经可以自动化了,交给开发自己打包。目前都是在测试环境上使用,还没有切入到正式环境中。准备在灰度环境使用,正式环境还是最原始的方式,只是打包过程可以用jenkins来完成。以后会结合pupper等工具来完成。我会继续完善的。