乐趣区

关于java: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,装置过程中会询问是否账号:

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

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 即可更新。

退出移动版