Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)

一、使用 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文件,找到

-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8999 --webroot="%BASE%\war"

修改端口号,这里修改为了8999,重启服务。
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第1张图片

4.浏览器访问localhost:8999

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第2张图片

5、安装默认插件

选择推荐的插件进行安装Install suggested plugins
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第3张图片

6、进行用户名、密码等配置,

然后依次点击保存并完成,进入到该界面
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第4张图片

三、必需插件安装

1 、Publish over SSH 远程传输及控制(直接搜索下载)
2 、 Maven Integration maven 插件(直接搜索下载)
3 、 Git plugin git插件

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第5张图片
选择可选插件、我这里安装过了,所以没有
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第6张图片

四、全局配置

如果你们Jenkins是安装在linux下就找到对应的jdk ,maven目录吧,win目录比较好找一点
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第7张图片

maven配置(不用管)

在这里插入图片描述

Jdk

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第8张图片

Git

使用 svn 不用管
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第9张图片

Maven

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第10张图片
其他不管

五、系统设置(SSH_Server服务配置)

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第11张图片

配置服务

划到最下面
注意此处必须先安装Publish over SSH 插件
输完点击高级配置 ssh 密码
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第12张图片

继续配置密码

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第13张图片
可以配置多个ssh服务(linux服务器,便于上传jar文件,和执行命令 / 脚本)
完成后面右下有个 test 测试按钮,连接服务器成功会返回 seccess 成功提示

六、全局安全配置

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第14张图片

配置跨站

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第15张图片

七、凭据配置(就是密码管理)

Svn/ Git 账号密码填入保存在这里,便于后续操作

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第16张图片

查看凭据

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第17张图片
||

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第18张图片

添加凭据

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第19张图片

八、构建项目

配置都完成了,前面所有配置都是为了现在能正常构建项目

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第20张图片

1、创建任务(选择maven)

必须先安装Maven Integration 插件 ,不然没有改选项
1、输入项目名
2、选择maven
3、确定
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第21张图片

2、描叙(不用管)

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第22张图片

3、拉取代码(svn/git)

svn 拉取
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第23张图片
git 拉取
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第24张图片

4、Bulid配置(pom.xml)

  • 有时会提示找不到文件,不用管
  • 打包跳过测试(可以不填,点击高级才会出现)
    -Dmaven.test.skip=true
    Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第25张图片
    到此为止,点击构建项目就会自动拉取项目并自动进行maven打包了 .jar

5、发送jar包到 linux服务器

添加构建后操作
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第26张图片
选择 SSH
Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第27张图片

  • 如果配置了多个ssh 服务器,Name 处可自选上传到哪,

  • 输入的上传路径 Linux中必须存在

  • 文件源: **/target/wargame-0.0.1-SNAPSHOT.jar

  • 发送到linux 服务器下目录如下:
    / 输入的上传路径 / 项目名 / target/wargame-0.0.1-SNAPSHOT.jar
    Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第28张图片

  • 命令说明:表示运行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

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第29张图片
这样在每次构建项目的时候都会先停止原有的项目进程(通过端口号)
如果没有该端口进程,构建会报出一个 error 错误,不用管,下面的打包,上传,执行启动命令都会正常执行

九、构建项目

点击这里可以查看所有构建项目

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第30张图片

点击构建

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第31张图片

结果图说明(截图日志一)

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第32张图片

结果说明二(截图日志二)

Jenkins -- 自动拉取svn/git 代码 / 打包/ 部署/ 启动项目(本次采用的Linux服务器,springboot项目,win安装Jenkins)_第33张图片
成功拉取 svn 或 git 最新代码并部署到服务器就完成了

你可能感兴趣的:(#,Jenkins)