一.安装Jenkins

下载地址https://jenkins.io/download/ ,仅下载war包,将下载好的jenkins.war放进tomcat/webapps目录下,然后启动tomcat。

Jenkins 添加多个node版本 jenkins多模块部署_Linux下部署多模块

二.Jenkins配置

启动完之后,访问:http://192.168.14.131:8888/jenkins,这里换成自己的IP和端口,出现下面的界面:

Jenkins 添加多个node版本 jenkins多模块部署_xml_02

输入密码点击继续后,可能会出现 【该jenkins实例似乎已离线】错误,解决方法如下:

已经离线界面不要动,然后打开一个新的tab,输入网址http://192.168.13.131:8888/jenkins/pluginManager/advanced。这里面最底下有个【升级站点】,把其中的链接改成http的就好了,http://updates.jenkins.io/update-center.json。然后在重启tomcat,刷新刚刚的界面,这样就能正常联网了。

选择安装推荐的插件

Jenkins 添加多个node版本 jenkins多模块部署_git_03

创建第一个管理员用户

Jenkins 添加多个node版本 jenkins多模块部署_xml_04

点击保存并完成,进入实例配置,配置jenkins的访问路径即可

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins_05

点击保存并完成,Jenkins已就绪

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins 添加多个node版本_06

然后会跳转到登陆界面

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins 添加多个node版本_07

可能出现的问题:

jenkins初始化配置完后设置了管理员账号密码 网页停留时间长了刷新登录不了了,

解决方法:

找到.jenkins/config.xml文件:(windows环境就是和initialsecretPassword一个目录的那个下面,如果直接使用的安装包进行安装的 则文件存在于安装目录/config/config.xml)(linux操作系统安装的存在于/root/.jenkins/config.xml)

查看这个值:

authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"

这个权限对应“登录用户可以做任何事"。不知道为啥登录不了所以做不了任何事。

替换为 class="hudson.security.AuthorizationStrategy$Unsecured"

这个权限对应“任何用户可以做任何事(没有任何限制)”

Jenkins 添加多个node版本 jenkins多模块部署_git_08

登陆后看到系统管理,主要的就是配置 下图右边三个:系统设置、全局工具配置、插件管理

Jenkins 添加多个node版本 jenkins多模块部署_Linux下部署多模块_09

1.配置jenkins所需插件

执行这一步之前,我们在第一次启动jenkins的时候,已经安装过大部分插件,所以我们只需要检查是否安装了以下插件即可Maven Integration 使我们可以开始一个maven项目作为任务

Git plugin 使我们可以读取存放在git仓库的项目

2.配置jenkins全局工具配置jenkins的全局工具主要是我们所使用到的jdk、git、maven等

JDK、Git、Maven我都没有使用自动安装,全是在linux安装的。

Jenkins 添加多个node版本 jenkins多模块部署_git_10

Jenkins 添加多个node版本 jenkins多模块部署_xml_11

Linux安装Git

大体的安装步骤如下:

①、获取github最新的Git安装包下载链接,进入Linux服务器,执行下载,命令为:wget https://github.com/git/git/archive/v2.17.0.tar.gz ;

②、压缩包解压,命令为:tar -zxvf v2.17.0.tar.gz ;

③、安装编译源码所需依赖,命令为:yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 耐心等待安装,出现提示输入y即可;

④、安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为:yum remove git 出现提示输入y即可;

⑤、进入解压后的文件夹,命令 cd git-2.17.0 ,然后执行编译,命令为 make prefix=/usr/local/git all 耐心等待编译即可;

⑥、安装Git至/usr/local/git路径,命令为 make prefix=/usr/local/git install ;

⑦、打开环境变量配置文件,命令 vim /etc/profile ,在底部加上Git相关配置信息:

export PATH=/usr/local/git/bin:$PATH

然后保存,退出!

使用source命令立即生效:source /etc/profile

⑧、输入命令 git --version ,查看安装的git版本,校验通过,安装成功。

三、新建任务

新建任务,输入名称,选择maven项目,然后点击确定

Jenkins 添加多个node版本 jenkins多模块部署_xml_12

创建完任务后,选择配置

Jenkins 添加多个node版本 jenkins多模块部署_git_13

源码管理

选择git,然后输入需要下载的github项目地址(这里的项目是私有的),此处填写的自己的项目。出现红色的字,是因为没有填写用户名密码,点击添加,即出现下面的界面。

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins 添加多个node版本_14

填写用户名密码:

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins 添加多个node版本_15

填写完成后,即为下面的界面。

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins 添加多个node版本_16

构建环境

构建环境中勾选“Add timestamps to the Console Output”,代码构建的过程中会将日志打印出来

在Build中输入打包前的mvn命令,如:

Jenkins 添加多个node版本 jenkins多模块部署_Linux下部署多模块_17

配置一个maven风格的项目 然后在配置root pom 指向的是最顶级的pom.xml,clean install-pl xsjt-comp-manager-am-amd-Pdev-Dmaven.test.skip=true

这样就单独构建xsjt-comp-manager这个jar,相关依赖也会构建好,不用将依赖提前放入maven仓库,更不用搭建私服。

我的项目结构如下:

Jenkins 添加多个node版本 jenkins多模块部署_git_18

Post Steps

Post Steps 选择 Run only if build succeeds

Jenkins 添加多个node版本 jenkins多模块部署_Linux下部署多模块_19

遇到的问题:jenkins 构建成功后,Java服务并没有启动

问题的根本在于是Jenkins使用processTreeKiller杀掉了所有子进程,而且这是Jenkins的默认行为。为了解决该问题,我们需要在启动前加上这句BUILD_ID=DONTKILLME

防止Jenkins 杀死我们的进程。立即构建

点击立即构建,然后选择Build History里面最新的一个,点击后

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins 添加多个node版本_20

点进入可看到左侧有控制台输出,点击后,即可看到日志打印记录

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins_21

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins_22

Jenkins 添加多个node版本 jenkins多模块部署_Jenkins_23

Jenkins 添加多个node版本 jenkins多模块部署_git_24

大功告成!