玩了一下 Jenkins,最新版本 + JDK11

您所在的位置:网站首页 jdk11和tomcat8 玩了一下 Jenkins,最新版本 + JDK11

玩了一下 Jenkins,最新版本 + JDK11

2024-07-13 00:22| 来源: 网络整理| 查看: 265

背景

今年五月的时候玩了一下 Jenkins,最新版本 2.414.3 ,JDK 11 。本机有两个 JDK,只放到 Tomcat 里面了,看到了一个启动页面,后面有其他事情就忘记了。最近又想起来,觉得还是应该玩一下这么有技术含量的东西的。它能自动拉取代码,自动发布,比 maven 的 wagon-plugin 插件高级多了。

本文记录笔者利用 jenkins 和 maven 的 wagon-plugin 插件组合实现一个 Shell 自动部署的任务,距离解放双手,又前进了一步。

部署包准备

各组件版本信息及解压处理方法:

JDK-11:tar.gz ,直接解压,目标主机上是JDK1.8。maven-3.6.2:tar.gz ,直接解压,bin 目录添加到环境变量。node-12.22:tar.gz ,直接解压,bin 目录添加到环境变量,因为 18以后的高版本对 gcc 有要求,所以选择一个低版本。这个组件主要是用来对前端模块进行编译的,对于前后台分离的应用来说是必须的。tomcat-9.0.82:修改启动脚本 catalina.sh 前面几行,添加环境变量配置:export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-11.jdk"。 另外,需要保证本机环境中没有配置过 JRE_HOME 这个环境变量,否则脚本中工JAVA_HOME 就无效了。保守方法是,在 catalina.sh 中也配置一下 JRE_HOME 这个环境变量,值为空,当系统配置了 JRE_HOME 时,本脚本中的 JAVA_HOME 才会生效。jenkins-2.414.3.war:最新版本,移动到 tomcat-9.0.82 的 webapps 目录下。 启动 Tomcat

进入 tomcat 目录启动 Tomcat,启动过程中碰到一个异常: 在这里插入图片描述 解决办法:参考 该文 修改 tomcat/conf/contex.xml 文件,在 context 节点下添加一行 :

初始化 jenkins

在浏览器输入 jenkins 访问路径,首次访问时要求输入 jenkins 的默认密码,对着tomcat 的 catalina.out 日志去找密码拷贝输入就可以了。初始化选择安装推荐的插件,等待插件完成: 在这里插入图片描述 部署的目标主机插件安装过程很快,不像我本机安装的时候,推荐插件只安装成功了几个其他全失败了。

安装完成后需要创建一个帐号,按照提示输入就可以了。默认安装的推荐插件中有一个本地化简体中文插件的,完成后访问 jenkins 页面上有些菜单就是中文了。但是它汉化得不完整,还是夹杂着几个英文菜单的。

到这里,Jenkins 就部署完成了,主界面长这样: 在这里插入图片描述

全局配置

需要为 Jenkins 添加一下配置,如 JDK【可以添加多个,创建任务的时候再选择】、maven

「Manage Jenkins 」菜单是管理页面,它没被汉化,主要管理插件、系统配置、全局配置等,例如:【只截取了一个屏】 在这里插入图片描述 点击 Tools 菜单,配置基本的工具,依次指定 maven 的配置文件,JDK HOME 路径、MAVEN 安装路径等。

再点击 Plugin 菜单,安装 SVN 插件。

这样,基本的准备工作就完成了。

创建任务

点击主界面的 「新建 Item」进入任务创建页面: 在这里插入图片描述 选择 「Freestyle project」类型,点击“确定”,就可以进入任务配置页面了,配置项主要有:

JDK【如果配置了多个 JDK ,才会出现该选项】,因为 1.8 的 rt.jar 中有很多工具类,高版本里面没有,所以最好配置一个 1.8 的 JDK,JDK 11 只是为 Tomcat 启动 jenkins 服务的。源码管理:选择 SVN ,配置 SVN 路径,添加凭证。构建触发器:可以选择定时器或者轮训源码变更定时器。构建环境:可以勾选构建失败的判断条件,指定超时时间,需要考虑应用构建时间,如果设置过短,可能会导致任务构建过程中被终止。Build Steps:可以选择 Shell 方式,编写 Shell 脚本完成构建。构建后的操作:没有就不配置。

逐个添加配置,我这里基于 SpringBoot 的多模块的微服务项目,并且配置了 wagon-plugin 插件的应用,编写了一个自动化构建脚本。

自动部署脚本 #不允许 Jenkins 杀死当前脚本进程 BUILD_ID=DONTKILLME #定义代码根路径 codePath=$WORKSPACE/myCode echo code path is $codePath #进入代码根路径对整个模块打包 cd $codePath mvn clean package #定义模块列表数组 moduleList=(a b c d e f) #遍历数组:逐个执行自动部署命令,${#moduleList[@]}获取数组的长度 for((i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3