Jenkins 安装部署 jar 包 windows版

前言: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,安装过程中会询问是否账号:

Jenkins 安装部署 jar 包 windows版_第1张图片

如果觉得设置麻烦也可以使用第一个选项,一路默认下去。

2、安装插件

Manage Jenkins > Manage Plugins > 可选插件

1、GitLab(由于使用的是GitLab,因此需要安装该插件,正常git是不需要的(默认有安装))勾选,直接安装

Jenkins 安装部署 jar 包 windows版_第2张图片

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

Jenkins 安装部署 jar 包 windows版_第3张图片

3、配置环境

jdk、maven、git

Manage Jenkins > Global Tool Configuration

1、JDK

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

Jenkins 安装部署 jar 包 windows版_第4张图片

2、maven

Jenkins 安装部署 jar 包 windows版_第5张图片

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

3、git

Jenkins 安装部署 jar 包 windows版_第6张图片

与前两个者相似,但是需要注意的是git指向的指exe文件,并非文件夹。

保存/应用,进入下一步。

4、ssh

Manage Jenkins > Configure System

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

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

Jenkins 安装部署 jar 包 windows版_第7张图片

4、创建job

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

Jenkins 安装部署 jar 包 windows版_第8张图片

2、源码管理

Jenkins 安装部署 jar 包 windows版_第9张图片

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

3、生成SSH KEY过程

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

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

2.生成密钥:
$ ssh-keygen -t rsa -C "邮箱"

按3个回车,密码为空这里一般不使用密钥。

最后得到了两个文件:id_rsa和id_rsa.pub

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

Jenkins 安装部署 jar 包 windows版_第10张图片

4.私钥配置

Jenkins 安装部署 jar 包 windows版_第11张图片

Jenkins 安装部署 jar 包 windows版_第12张图片

5.配置maven

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

Jenkins 安装部署 jar 包 windows版_第13张图片

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

Jenkins 安装部署 jar 包 windows版_第14张图片

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 安装部署 jar 包 windows版_第15张图片

Jenkins 安装部署 jar 包 windows版_第16张图片

可以进入查看编译日志

Jenkins 安装部署 jar 包 windows版_第17张图片

可以进入服务器查看是否成功。

浏览器访问启动的服务:

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

你可能感兴趣的:(javaJenkins)