转载

Jenkins+SpringBoot+Maven多模块部署

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

Jenkins+SpringBoot+Maven多模块部署

二.Jenkins配置

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

Jenkins+SpringBoot+Maven多模块部署

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

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

选择安装推荐的插件

Jenkins+SpringBoot+Maven多模块部署

创建第一个管理员用户

Jenkins+SpringBoot+Maven多模块部署

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

Jenkins+SpringBoot+Maven多模块部署

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

Jenkins+SpringBoot+Maven多模块部署

然后会跳转到登陆界面

Jenkins+SpringBoot+Maven多模块部署

可能出现的问题:

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+SpringBoot+Maven多模块部署

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

Jenkins+SpringBoot+Maven多模块部署

1.配置jenkins所需插件

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

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

2.配置jenkins全局工具

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

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

Jenkins+SpringBoot+Maven多模块部署
Jenkins+SpringBoot+Maven多模块部署

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+SpringBoot+Maven多模块部署

创建完任务后,选择配置

Jenkins+SpringBoot+Maven多模块部署

源码管理

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

Jenkins+SpringBoot+Maven多模块部署

填写用户名密码:

Jenkins+SpringBoot+Maven多模块部署

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

Jenkins+SpringBoot+Maven多模块部署

构建环境

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

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

Jenkins+SpringBoot+Maven多模块部署

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

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

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

Jenkins+SpringBoot+Maven多模块部署

Post Steps

Post Steps 选择 Run only if build succeeds

Jenkins+SpringBoot+Maven多模块部署

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

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

BUILD_ID=DONTKILLME
复制代码

防止Jenkins 杀死我们的进程。

立即构建

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

Jenkins+SpringBoot+Maven多模块部署

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

Jenkins+SpringBoot+Maven多模块部署
Jenkins+SpringBoot+Maven多模块部署
Jenkins+SpringBoot+Maven多模块部署
Jenkins+SpringBoot+Maven多模块部署

大功告成!

欢迎关注我的公众号,第一时间接收最新文章~ 搜索公众号:码咖

或者 扫描下方二维码:

Jenkins+SpringBoot+Maven多模块部署
原文  https://juejin.im/post/5d786a916fb9a06b2650c116
正文到此结束
Loading...