一、准备好服务器环境centos7,JDK1.8,配置好环境变量
二、.开始安装jenkins
1.下载依赖:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
2.导入秘钥
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
3.安装
yum install jenkins
4. 查看jenkins安装目录
rpm -ql jenkins
5. jenkins默认端口8080,打开相关配置文件,将56行的启动端口改为9003,防止端口冲突
vim /etc/sysconfig/jenkins
6.启动jenkins, 不知道war包位置的,可以使用步骤4的命令进行查看
java -jar /usr/lib/jenkins/jenkins.war --httpPort=9003
7.启动成功,使用ip+port访问,此时会要求输入密码,按照提示,复制红色路径下的密码到输入框
8.出现该实例似乎已经离线,不要慌,不要关闭页面,在浏览器重新开一个tab,输入网址http://你的ip:你的端口/jenkins/pluginManager/advanced, 这里面最底下有个【升级站点】,把其中的链接的https改成http的就好了,不要改其他东西!!
9.安装推荐的插件! 然后是漫长的等待,水一会儿论坛回来就好了
10.输入账号密码,登入 jenkins管理页面
三、上一步我们完成了jenkins的安装,但是还不能直接发布项目,还需要经过一些配置,在系统内配置jdk,git,maven,没有就先安装,下边附安装相关:
1.安装git,参考下方文章
2.安装maven,参考下方文章
3.jenkins管理页面--->系统管理--->全局工具配置,按照如下配置:
四、安装maven插件,用来直接创建maven项目的打包发布
找到 “系统管理“ - “安装插件” ,点击 “可选插件”,输入: Maven Integration,点击搜索,在搜索结果中找到,勾选,点击立即安装
五、安装Publish Over SSH
插件,用来远程连接服务器,传送jar包到服务器,系统设置->插件管理->可选插件 搜索 Publish Over SSH
,选中点击立即安装即可安装。参考第四步
安装完成,需要配置ssh相关的信息,比如远程主机的ip,密码,根目录
系统管理-系统设置:设置远程服务器,点击增加可设置多台服务器
六、准备一个测试项目,可克隆我创建的demo项目到本地,然后在github创建相同项目名称的仓库,上传项目文件
github地址:https://github.com/Jorian93/hello-word.git
到以上,我们已经做好了使用jenkins自动打包部署的前期准备工作,下面可以实践一个项目自动构建流程
七、新建一个自动打包部署发布的流程 item
1.点击新建任务
2.选择新建maven项目,输入任务名称:helloword
3.按照下图填写general
4.源码管理,输入git地址,点击添加,点击jenkins,添加凭证
输入git账号密码,点击确定
5.构建前步骤如下配置
6.构建后操作
启动脚本内容如下,如果脚本报错请自行百度,修改执行权限等,脚本是经过我实践测试的。
#!/bin/sh
RESOURCE_NAME=hello-word-0.0.1.jar
RESOURCE_LOCATION=/usr/local/src/jenkins
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'App is running.'
else
echo 'App is NOT running.'
fi
rm -f tpid
nohup java -Xms64m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=512m -jar $RESOURCE_LOCATION/$RESOURCE_NAME >/dev/null 2>&1&
7.最后点击应用,保存,到此时,一个完整的自动打包部署启动的构建流程已经做好了,点击构建任务后的按钮立即构建!
8.此时点击左侧下方的,正在执行的构建后边的#号下拉,选择控制台打印信息:
9.查看控制台输出,观察是否构建完成:
报错:
阿里云未开启虚拟内存!要开启虚拟内存请看下边这篇文章:
https://my.oschina.net/u/2306127/blog/657269
10.正常启动构建成功截图:
11.访问下项目,测试一下是否启动成功:
http://远程主机ip:8887/hello/jorian