一、使用 jenkins前环境
我的jenkins在直接安装在写代码的电脑上(win)
1、本地环境需要(必须)
环境必须安装在 jenkins 服务的电脑上,win或者Linux,记住安装目录,下面需要配置
- 1、Jdk
- 2、Maven
- 3、Svn
- 4、Git
环境测试 - Jdk --> javac
- Maven --> mvn -v
Svn/git
2、jenkins构建步骤如下
搭完了本篇环境后除了第一步需要点击后面全自动
- 1、点击构建
- 2、执行停止jar进程命令-(上次构建项目到远程服务器的jar)
- 3、拉取svn/git 代码
- 4、Maven打包
- 5、发送打包好的jar 到linux服务器
- 6、执行jar启动命令
3、jar 启动与杀死、停止命令说明
//================ jar启动命令,关闭窗口会停止运行,或ctrl+c(linux)也会停止运行
java -jar shareniu.jar
//================ Jar后台启动 (关闭窗口不会停止运行)
nohup java -jar shareniu.jar >log.txt &
// =============== jar杀死进程(根据端口)======
sudo fuser -k -n tcp 8080
// =============== jar 停止运行================
// 1、ps aux|grep jar名 ,找到进程的 pid
// 2、 kill -9 加pid 关闭进程
ps aux|grep wargame-0.0.1-SNAPSHOT.jar
kill -9 pid
二、jenkins安装
1.官方下载地址
https://jenkins.io/
本次下载的版本为jenkins-2.138
2.war包安装(不推荐)
启动Jenkins命令,打开cmd至Jenkins安装目录下,运行命令 java -jar jenkins.war 如果改变默认端口,则指定端口例如端口号9080:
java -jar jenkins.war --httpPort=9080
此种安装方式的Jenkins可以在Web容器(例如tomcat)中运行,作为持续性集成环境不推荐此种方法。
3.msi安装包安装(推荐)
安装完成,windows系统服务中会自动注册jenkins服务;如果端口冲突。打开安装目录下的jenkins.xml文件,找到
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8999 --webroot="%BASE%\war"</arguments> ,
修改端口号,这里修改为了8999,重启服务。
4.浏览器访问localhost:8999
5、安装默认插件
选择推荐的插件进行安装Install suggested plugins
6、进行用户名、密码等配置,
然后依次点击保存并完成,进入到该界面
三、必需插件安装
1 、Publish over SSH 远程传输及控制(直接搜索下载)
2 、 Maven Integration maven 插件(直接搜索下载)
3 、 Git plugin git插件
选择可选插件、我这里安装过了,所以没有
四、全局配置
如果你们Jenkins是安装在linux下就找到对应的jdk ,maven目录吧,win目录比较好找一点
maven配置(不用管)
Jdk
Git
使用 svn 不用管
Maven
其他不管
五、系统设置(SSH_Server服务配置)
配置服务
划到最下面
注意此处必须先安装Publish over SSH 插件
输完点击高级配置 ssh 密码
继续配置密码
可以配置多个ssh服务(linux服务器,便于上传jar文件,和执行命令 / 脚本)
完成后面右下有个 test 测试按钮,连接服务器成功会返回 seccess 成功提示
六、全局安全配置
配置跨站
七、凭据配置(就是密码管理)
Svn/ Git 账号密码填入保存在这里,便于后续操作
查看凭据
||
添加凭据
八、构建项目
配置都完成了,前面所有配置都是为了现在能正常构建项目
1、创建任务(选择maven)
必须先安装Maven Integration 插件 ,不然没有改选项
1、输入项目名
2、选择maven
3、确定
2、描叙(不用管)
3、拉取代码(svn/git)
svn 拉取
git 拉取
4、Bulid配置(pom.xml)
- 有时会提示找不到文件,不用管
- 打包跳过测试(可以不填,点击高级才会出现)
-Dmaven.test.skip=true
到此为止,点击构建项目就会自动拉取项目并自动进行maven打包了 .jar
5、发送jar包到 linux服务器
添加构建后操作
选择 SSH
-
如果配置了多个ssh 服务器,Name 处可自选上传到哪,
-
输入的上传路径 Linux中必须存在
-
文件源: **/target/wargame-0.0.1-SNAPSHOT.jar
-
发送到linux 服务器下目录如下:
/ 输入的上传路径 / 项目名 / target/wargame-0.0.1-SNAPSHOT.jar
-
命令说明:表示运行jar 项目,并后台运行
-
log.txt为日志,就是eclipse中控制台出现的东西
-
后面的就是jar 绝对路径和日志绝对路径,日志文件为自动生成,不用管的
nohup /usr/lib/jdk1.8/bin/java -jar /usr/server/socket/WarGame/WarGameWeb/target/wargame-0.0.1-SNAPSHOT.jar > /usr/server/socket/WarGame/WarGameWeb/target/log.txt &
- /usr/lib/jdk1.8/bin/java 是 java命令,jdk1.8路径下,如果构建直接输入java 能打印出java相关信息,而不是找不到命令,那么 直接 java就可以了,不需要 /usr/lib/jdk1.8/bin/java 这样写
nohup java -jar /usr/server/socket/WarGame/WarGameWeb/target/wargame-0.0.1-SNAPSHOT.jar > /usr/server/socket/WarGame/WarGameWeb/target/log.txt &
- 到这一步,就完成了自动拉代码,打包、上传文件到任意linux服务器,及启动
- 但是第二次构建项目会出现,端口被占用
6、端口占用处理(停止服务器正在运行的 jar)
添加构建前操作,执行 jar 进程停止命令,88 为运行的 jar 端口
sudo fuser -k -n tcp 88
这样在每次构建项目的时候都会先停止原有的项目进程(通过端口号)
如果没有该端口进程,构建会报出一个 error 错误,不用管,下面的打包,上传,执行启动命令都会正常执行
九、构建项目
点击这里可以查看所有构建项目
点击构建
结果图说明(截图日志一)
结果说明二(截图日志二)
成功拉取 svn 或 git 最新代码并部署到服务器就完成了