前言:Jenkins是一个开源软件我的项目,是基于Java开发的一种继续集成工具,用于监控继续反复的工作,旨在提供一个凋谢易用的软件平台,使软件的继续集成变成可能。(起源:百度百科)

集体了解(基于目前利用了解),可能在开发过程中,公布版本时可能一键实现:从git拉取指定分支最新代码,通过maven打包成jar/war包,而后上传到服务器,脚本模式重新启动,一整套流程,省去了人为的打包部署的繁琐流程,在开发调试过程晋升效率。

1、装置Jenkins

windows安装包下载地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/windows-stable/2.263.3/jenkins.msi

默认装置之后(工作治理中能够启停),而后登录http://localhost:8080,第一次进入依照界面上的门路去复制明码,登录后设置默认账号,依照默认教程,默认插件装置。

留神:自己应用win10,装置过程中会询问是否账号:

如果感觉设置麻烦也能够应用第一个选项,一路默认上来。

2、装置插件

Manage Jenkins > Manage Plugins > 可选插件

1、GitLab(因为应用的是GitLab,因而须要装置该插件,失常git是不须要的(默认有装置))勾选,间接装置

2、Publish Over SSH(此插件用于链接服务器,讲打包好的包公布到服务器,并执行脚本启动服务)

3、配置环境

jdk、maven、git

Manage Jenkins > Global Tool Configuration

1、JDK

点击新增JDK,JAVA_HOME为机器上装置的环境变量。

2、maven

如同jdk,配置好环境变量。

3、git

与前两个者类似,然而须要留神的是git指向的指exe文件,并非文件夹。

保留/利用,进入下一步。

4、ssh

Manage Jenkins > Configure System

与前者不同,此处配置为系统配置。

拉到最底部,有一个SSH Servers选项,因为应用的是linux虚拟机,因而新增时只填默认项即可。(Use password authentication,or use a different key选中能力填明码)

4、创立job

1、可能版本问题,没找到maven我的项目的选项,于是就选了自有格调我的项目。

2、源码治理

此处采纳的是ssh key 的形式,因为不是用机器的管理员,没法获取本地的账户密钥。

3、生成SSH KEY过程

1.查看是否曾经有了ssh密钥:cd ~/.ssh

如果没有密钥则不会有此文件夹,有则备份删除

2.生成密钥:

$ ssh-keygen -t rsa -C "邮箱"

按3个回车,明码为空这里个别不应用密钥。

最初失去了两个文件:id_rsa和id_rsa.pub

3.pub为公钥,须要配置在git服务器上

4.私钥配置

5.配置maven

往下持续,选中构建 > 抉择Invoke top-level Maven targets > 而后抉择之前配置的mvn,而后命令执行别离为clean package

6.配置ssh/服务器配置/脚本

6.1:首先SSH Server选的是上述3、环境配置中配的ssh 服务器

6.2:Transfers下Source files阐明:此处为源码目录,具体为此处创立的job下的(例如job名为test,那么就是jenkins下名为test的job目录下的构造,具体须要指向生成的jar/war包),图中为多模块我的项目,因而指向的为指定模块下target下的jar包。

6.3:Remove prefix,此处配置为须要删除的目录,其实就是公布完商城编译文件。

6.4:Remote directory,因为环境配置中配置的目录为/usr/local/jar(jar包运行的目录/工作目录),所以能够放空。(能够指定目录)

6.5:Exec command,该项为文件(jar包)上传胜利之后须要配置的shell脚本了

首先是失常从新公布:
//须要加此行,解决无奈启动jar包的问题
source /etc/profile
cd /usr/local/jar
ps -ef | grep test-1.0-SNAPSHOT.jar|grep -v grep |awk '{print $2}'|xargs kill -s 9
nohup java -jar test-1.0-SNAPSHOT.jar > nohup_log.file 2>&1 &


然而本次为首次公布,应用上述脚本有个问题是没有正在运行的过程,所以语句会执行失败导致服务无奈启动,因而如果为首次公布应应用如下脚本:
//须要加此行,解决无奈启动jar包的问题
source /etc/profile
cd /usr/local/jar
nohup java -jar test-1.0-SNAPSHOT.jar > nohup_log.file 2>&1 &

5、执行部署

在工厂下选中执行Build Now,

能够进入查看编译日志

能够进入服务器查看是否胜利。

浏览器拜访启动的服务:


至此,jenkins整合java jar包自动化部署配置实现,尔后代码部署只须要登录jenkins服务进行build即可更新。