共计 2105 个字符,预计需要花费 6 分钟才能阅读完成。
前言: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 即可更新。