一.安装Jenkins

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




jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_wget 下载jenkins最新的


二.Jenkins配置

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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_wget 下载jenkins最新的_02


输入密码点击继续后,可能会出现 【该jenkins实例似乎已离线】错误,解决方法如下:已经离线界面不要动,然后打开一个新的tab,输入网址http://192.168.13.131:8888/jenkins/pluginManager/advanced。 这里面最底下有个【升级站点】,把其中的链接改成http的就好了,updates.jenkins.io/update-cent… 然后在重启tomcat,刷新刚刚的界面,这样就能正常联网了。

选择安装推荐的插件


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_wget 下载jenkins最新的_03


创建第一个管理员用户


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_wget 下载jenkins最新的_04


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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_Jenkins_05


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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_springboot maven_06


然后会跳转到登陆界面


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_springboot maven_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配置多个版本的nodejs会冲突吗 jenkins多模块部署_git_08


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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_springboot maven_09


1.配置jenkins所需插件

执行这一步之前,我们在第一次启动jenkins的时候,已经安装过大部分插件,所以我们只需要检查是否安装了以下插件即可

  1. Maven Integration 使我们可以开始一个maven项目作为任务
  2. Git plugin 使我们可以读取存放在git仓库的项目

2.配置jenkins全局工具

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

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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_git_10


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_wget 下载jenkins最新的_11


Linux安装Git

大体的安装步骤如下:

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

②、压缩包解压,命令为: 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配置多个版本的nodejs会冲突吗 jenkins多模块部署_maven多模块合并打包_12


源码管理

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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_maven多模块合并打包_13


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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_springboot maven_14


构建环境

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

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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_springboot maven_15


配置一个maven风格的项目 然后在配置root pom 指向的是最顶级的pom.xml,

clean install -pl xsjt-comp-manager -am -amd -Pdev -Dmaven.test.skip=true

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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_git_16


Post Steps

Post Steps 选择 Run only if build succeeds


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_springboot maven_17


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

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

BUILD_ID=DONTKILLME

防止Jenkins 杀死我们的进程。

立即构建

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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_springboot maven_18


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


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_maven多模块合并打包_19


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_springboot maven_20


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_maven多模块合并打包_21


jenkins配置多个版本的nodejs会冲突吗 jenkins多模块部署_maven多模块合并打包_22