声明:
如果您有更好的技术与作者分享,或者商业合作;
请访问作者个人网站 http://www.esqabc.com/view/message.html 留言给作者。
如果该案例触犯您的专利,请在这里:http://www.esqabc.com/view/message.html 留言给作者说明原由
作者一经查实,马上删除。
准备条件:
配置jdk1.8:
1,下载jdk
[root@test ~]# wget https://download.oracle.com/otn/java/jdk/8u191-b12/jdk-8u191-linux-x64.tar.gz
2,解压jdk
[root@test local]# tar zxvf jdk-8u191-linux-x64.tar.gz
3,修改配置文件:vi /etc/profile
[root@test ]# vi /etc/profile
添加配置信息:
export JAVA_HOME=/usr/local/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
4,刷新配置文件
[root@test ~]# source /etc/profile
5,查看是否安装成功:
[root@test ~]# java -version
1,Jenkins插件安装
安装Jenkins请看:https://blog.csdn.net/esqabc/article/details/90257590
检查以下几个插件是否安装
1,Maven Integration (Maven集成插件)
2,Publish Over SSH (SSH远程发布插件)
没有安装请在这里安装:
2,配置打包需要的插件(JDK、Maven)
英文版:
中文版:
a,配置JDK:
b,出现这个,点击链接,填写Order的账号和密码
c,配置Maven:
d,点击应用,然后保存:
3,Jenkins使用(使用Maven自动打包一个项目)
a,在主页选择(创建新任务),进入下面,选择创建一个自由风格的项目
b,General==》选择丢弃旧的构建
c,源码管理==>Subversion (根据自己代码库地址选项,我的代码是在SVN上面的)
Repository URL:项目所在svn的地址,如:https://ip/svn/test/jarweb-jen-ans
Credentials:svn访问账号和密码 ,如果没有请添加一个svn访问账号和密码
d,构建触发器(根据自己的选择,我这里选择的是定时执行)
日程表:是cron表达式,每分钟执行一次:*/1 * * * *
e,构建环境部分,选中Delete workspace before build starts
f,构建部分,选择调用顶层Maven目标
Maven 版本 :已经配置好的版本
目标:既我们在Eclipse或者ieda,执行Maven的命令
如Eclipse:右键项目–》Run As–》Maven build --》Goals框框命令一样,我这里是:clean install
g,点击保存,这样就会每隔一分钟,执行一次,从svn拉取代码到Jenkins,然后打包成Docker镜像上传到私仓库
h,点击工作空间==》target文件夹,查看我们刚刚自动打包的jar文件
在这里就可以看到我们刚刚通过jenkins自动打包的jar文件了,说明Jenkins自动打包成功
4,Jenkins使用(自动检测代码更新打包并通过[Publish over SSH]远程发布)
(1)配置Jenkins==》Publish over SSH
a,在主页点击系统管理==》系统设置
b,上下滚动找到Publish over SSH配置
Jenkins SSH Key:你的服务器SSH登录密码
SSH Servers部分:
Name:连接名称(自定义)
Hostname:你的服务器IP
Username:你的SSH登录名(如:root)
Remote Directory:需要发送到的目录(如:/usr/data/)
(2)配置Jenkins任务
a,在主页选择(创建新任务),进入下面,选择创建一个自由风格的项目
b,General==》选择丢弃旧的构建
c,源码管理==>Subversion (根据自己代码库地址选项,我的代码是在SVN上面的)
Repository URL:项目所在svn的地址,如:https://ip/svn/test/jarweb-jen-ans
Credentials:svn访问账号和密码 ,如果没有请添加一个svn访问账号和密码
d,选择构建触发器
【* * * * *】5个星,就是说每1分钟就去Svn检测一次代码有没有更新,有的话就执行任务
e,构建环境
选择(Send files or execute commands over SSH)在构建运行后通过ssh发送文件或执行命令
Name:你上面配置的ssh信息
Transfers部分:
Source files:你的自动任务,打包项目成功后的文件地址,
(我的是:**/jarweb-jen-ans.jar,指的是在target文件夹下的jarweb-jen-ans.jar)
Remove prefix:发布文件所在的文件夹(如:target)
Remote directory:远程服务器的目录地址(如:/test,指的是在远程服务器/home/tools/创建一个文件夹test,/home/tools/的位置是上面配置SSH的时候,已经配置好了的)
Exec command:打包发布后,执行远程服务器脚本的地址(如:/home/tools/test/webjar.sh)
linux系统的sh脚本编写请看这个地址:https://blog.csdn.net/esqabc/article/details/91045089
f,构建部分,选择调用顶层Maven目标
Maven 版本 :已经配置好的版本
目标:既我们在Eclipse或者ieda,执行Maven的命令
如Eclipse:右键项目==》Run As==>Maven build ==>Goals框框命令一样,我这里是:clean install
到了这一步就已经完成打包发布的功能了,然后在你Eclipse或者ieda修改一下代码提交SVN,到Jenkins主页看看是否打包成功
如果打包成功,就在浏览器输入您项目的访问地址,看看有没有发布成功吧
5,Jenkins 的其它功能
1,重启:
在浏览器输入:http://localhost:8080/restart,
2,重新加载配置信息:
在浏览器输入:http://localhost:8080/reload