近期公司由于升级jdk版本,将项目的JDK都升级到14了,但是由于之前用于构建项目和Docker镜像的Jenkins一直使用的是JDK8的版本,所以此次借着这个机会,决定重新搭建一套Jenkins环境,用于可以构建JDK14的Java项目。

准备环境

  • Docker:用Docker安装服务非常方便,所以我们这次jenkins也采用docker安装的方式,具体安装docker的方法可以自行百度或者Google。

  • Docker-compose:docker-compose的方式根据yml文件可以很方便的启动,停止,重启相关服务,当然这一步不是必须的,也可以直接用docker run的方式启动相关服务,具体安装docker-compose的方法可以自行百度或者Google。

  • Jenkins:官方现在给出的版本是2.235.1,有专门的docker安装方式,具体可以参考官方文档(https://www.jenkins.io/doc/book/installing/)

安装

如果你不打算使用docker-compose的方式启动jenkins,那可以直接用docker run的命令拉取镜像并启动jenkins了,这里不再详细说明了。(官网有详细的启动命令及相关解释)

如果用docker-compose的方式启动,那么你还需要创建一个docker-compose.yml文件,具体内容如下:

version: '2.4'services:  jenkins:    container_name: jenkins    image: jenkins/jenkins:2.235.1-lts-jdk11    volumes:      - /var/run/docker.sock:/var/run/docker.sock      - /usr/bin/docker:/usr/bin/docker      - /home/Develop/jenkins/:/var/jenkins_home      - /usr/lib/java/jdk-14.0.1:/home/java/jdk14:rw    ports:      - "8877:8080"      - "50000:50000"    restart: always    user: root

上述配置文件中,有几点需要注意:

  • volumes用于挂载卷,jenkins_home存储jenkins相关配置及工作空间。

  • jdk14需要手动挂载到镜像内部,所以启动前确保宿主机已经安装jdk14。路径位置需要自行调整。

  • 端口用于对外暴露所用,注意不要与现有端口冲突即可。

配置好之后,就可以运行了,输入以下命令:

docker-compose up -d

接下来有一个比较漫长的等待时间,需要拉取jenkins的镜像。成功之后,在浏览器输入http://ip:8877,不出意外的话,应该可以看到如下界面:

d267f5c5f7cd275e3266f66bf1142120.png

输入管理员密码

这里需要一个管理员密码,这里有两种方式获取:

  1. 第一种方式页面已经写得很清楚了,大家可以到/var/jenkins_home/secrets/initialAdminPassword查看,这个密码是随机生成的,大家将密码粘贴进来,点击继续即可。

  2. 第二种方式是直接查看容器日志,可以运行docker ps命令,首先查看容器ID,然后再运行 docker logs 容器ID进行查看,里面也会有密码提示,如下所示:

    d750d2ab21b3a40d8c2eb4bb3c4bdfab.png

查看密码

之后jenkins会让你选择安装插件,这里面可以选择默认插件,也可以手动选择,这里小编选择的安装默认插件,这里面包含了很多常用组件,不过没有Maven,Docker这些,这些后面会详细说明。

210d8876e07efe318c68c77e60b341e2.png

    选择安装插件

选择默认推荐的插件安装后,也是漫长的等待,这个过程持续时间取决于网络环境,大概10-20分钟不等。

6328676f1ca3a1384e99de29e2a0d0dd.png

等待插件安装

安装好插件后,创建管理员用户,这里按照需要自行填写就好,之后点击保存并完成。

d507dc1fb54381921076363cd8d54901.png

创建管理员

之后是实例配置,这部分,如果ip、端口没有问题,可以直接点击保存并完成。

835e261d1f1590715d1bc2fe897e605a.png

实例URL

最后,直接点击开始使用Jenkins,Jenkins就安装成功了。

插件配置

为了能够使用jdk14编译并且推送Docker镜像,只安装默认的插件还不够,为此还需要如下几个插件:

  • Maven Integration:Maven插件,用于可以构建Maven项目。

  • Config File Provider:配置文件组件,用于配置系统中的文件,例如Maven的settings.xml,或者json格式的配置文件等。

  • Git Parameter:针对Git项目,可以自行配置相关参数,例如分支版本等。

进入Jenkins之后,选择“系统管理”->“插件管理”,选择可选插件标签,如下图所示:

ca09e0b5d5ae0ed5fcedc983de85b30a.png

安装插件

在搜索框中,输入maven:

550e42e1c262dfbf05c382080bb769a0.png

过滤Jenkins插件

默认显示的就是我们所需要的插件,勾选上之后点击“直接安装”。

99db0f3772a98e9aaa07c149b9d55069.png

安装插件

然后搜索Git Parameter,按上述步骤勾选后点击“直接安装”。

之后还是等待,这个时间不会很久,点击按钮之后,可以勾选安装完成后重启Jenkins。

f7e08a476d777acecfee86d2ee0eb567.png

安装后重启

之后等待安装好之后,刷新页面,重新登录Jenkins。

项目配置

安装好Jenkins的插件之后,我们就可以配置一个Maven项目了,不过在此之前,还需要配置一下Maven的settings.xml文件,当然如果不需要私服的配置,此步骤可以省略。

重新登录Jenkins之后,选择“系统管理”->“Managed files”,如下图所示:

321bdf1086cc37e7f3b0b1f7f4582dc9.png

Managed files

点击左侧“Add a new Config”,创建新的配置文件。

1a50e3a9a04cf35cc3c2b623fbf7fdba.png

选择配置文件类型

这里有很多类型可供选择,这里我们选择Maven全局配置,也可以选择下面的Maven配置,这里面本质没有任何区别。

选择好之后,直接点击submit按钮,进入文件编辑状态页面,如下图所示:

a9616b04c0efb2e79bac21e014869d83.png

配置settings.xml文件内容

这里content可以填写自己maven私服的settings文件,修改好之后,点击submit按钮即可。

下面我们就可以开始新建Maven任务了,选择新建任务。

由于我们上一步已经安装了Maven的插件,所以此处我们可以看到构建一个Maven项目,如下所示:

67cee29d680029867381cf8b219d6fcb.png

构建maven项目

选择构建一个maven项目,给项目起个名字,之后点击“确定”按钮。

之后就可以开始配置相关内容了,可以看到,配置项目分为General,

源码管理,构建触发器,构建环境,Pre Steps,Build,Post Steps,构建设置,构建后操作这些项目我们这里不做全部说明,只根据需要挑选一些必须配置的项说明,没有提到的,保留默认配置即可。

  • General

在这个标签下我们勾选“丢弃旧的构建”和“参数化构建过程”这两项,当然这里面如果你不需要也可以不做任何配置。

参数化构建过程是为了在build项目时可以选择git的版本或分支,如果构建的是固定分支或版本,此部分也可不用配置。

勾选参数化构建过程后,选择“Git 参数”,如下图所示:

acc470283128ecc634f4129968eeb8ec.png

选择Git参数

选择Git参数后,可以自定义变量名称,这里我们定义release_version,参数类型,选择分支或标签,如下图所示:

e0926d3059c9d9da707a30114f6eccf4.png

填写Git参数

  • 源码管理

在这个标签里有Git和Subversion两个选项,大伙可以根据自己构建环境自行选择,一般我们选用Git,如下图所示:

bf602f6d37ad06e06149076fa8a4a147.png

Git配置

这里面需要填写git仓库地址,填写之后,会提示没有权限,这里面需要添加Git仓库的用户名密码,具体操作如下:

点击添加按钮,选择Jenkins:

d13219d0d3e015ba4fe1d5531dec0f93.png

选择添加Jenkins

之后填写用户名及密码,点击添加按钮。

4d89e2417755557d95bb459509e73e4f.png

添加Git仓库用户名密码

添加之后,选择对应Credentials,如果用户名,密码正确,则不再出现错误提示。如下所示:

e064bb83ed0d1613791d5da915edcec8.png

选择添加的Credentials

指定分支,则填写${release_version},release_version是之前上一步Git参数填写的名称,可以根据需要随意填写。

  • 构建环境

    在这个标签下小编主要调整了两个地方:

  1. Delete workspace before build starts 顾名思义,勾选之后在每次build项目时会先删除工作空间中的内容。该选项根据需要可以自行进行勾选。

  2. Provide Configuration files 该选项用于选择构建时使用的maven配置文件,即上一步所添加的maven的settings配置文件。

    81b0c63d8b1bae94993aa7a239dc8dfb.png

    选择settings文件

  • Build

在这个标签内填写pom文件位置,及maven命令,如下图所示:

55078fce2b3f37bc4faaf9a62b170678.png

填写pom文件位置及maven命令

这里面,有一点需要注意一下,这里面Jenkins提示maven并没有安装,需要配置,具体方式如下:

点击“系统管理”->“全局工具配置”

df7f9b0afdeb136ea76e74f5a7ab61f3.png

全局工具配置

下拉到最后,有一个Maven选项,里面有一个Maven安装,点击“新增 Maven”按钮,随便填写个名称,选择自动安装即可,如下所示:

bcb2441c97610099aa128628755b9bfa.png

安装Maven

除此之外,由于我们需要用Jenkins构建JDK14的项目,所以此处我们还需要提供一个JDK安装。

我们继续选择JDK,点击“新增 JDK”按钮,这里面也是给jdk起一个名字,然后选择自动安装,但是自动安装的jdk只提供到9的版本,所以此处我们不选择自动安装,勾掉自动安装选项后,填写JAVA_HOME即可。

ead1d64ae88daa68819766fc2f645f70.png

安装JDK

这个JAVA_HOME填写docker-compose.yml文件中配置的jdk14路径即可。

安装好JDK和Maven之后,再次返回配置项目时,可以发现Jenkins的提示没有了,表明Maven已经安装。填写好pom文件位置和Maven命令后,点击“高级”按钮。

1b10d22a92496eff60dc1e23542f0e25.png

配置Maven

按照上面配置之后,点击“保存”按钮即可。

构建测试

至此Jenkins的相关配置就完成了,可以进行构建了,返回Jenkins首页,之后点击构建按钮,如下所示:

d14f714e0138781ded49abe14fbff4ba.png

构建项目

点击“构建”按钮后,可以选择对应版本,如下所示:

31a6352b2a8808a8529d3c864ddb3e20.png

选择构建版本

点击“开始构建”按钮之后即可。点击之后,默认会生成一个构建编号,点击构建编号->控制台输出查看构建过程中的日志输出,如下所示:

b90b9771fb2bb353cedfe4fb0e1275ae.png

控制台输出

至此Jenkins安装和配置已经全部完成,此外,对于Docker私服的配置及Springboot的配置,大家可以自行Google或者百度相关方法。

PS:虽然刚过端午节,但是小编还是想补一句,祝大家端午安康!!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐