Jenkins内网搭建并自动化部署maven项目

序言

     先声明一下,因为当时部署的时候是在公司内网环境下,所以无法截取图片,这个地方就尽量使用文字描述的详细一些,如果有需要图片讲解的话,可以给我评论,我在本地机器上重新搭建以下就行了。

安装jenkins

    jenkins官网提供了多种版本的下载和使用,我是采用的jenkins的war+tomcat部署的,比较简单,此处只提供jenkins官网地址以及Tomcat地址。有需要自行下载。

     运行tomcat的时候,war包解压,别忘了记得将war给删除掉,因为每次重启tomcat都会将war重新执行。另外注意的是在启动tomcat的中断中可以看到日志,有你的jenkins密码,密码最好记下来,但是忘了也没关系,随后的一行有一个地址,里面就是密码。

安装环境

     首先需要说明的是jenkins提供的组件并非是运行在centos服务上的,而是jenkins本身需要的。所以此处分为两部分,一部分是项目打包需要运行的软件环境,另外一部分是jenkins的组件。

(1)jenkins组件

外网装组件的话可能比较方便,但是内网装组件的话就相对比较麻烦了,内网装插件两种方式:

方式一、上网机下载上传到内网环境

    进入jenkins服务界面,点击左侧菜单“系统管理” -> 插件管理

    在该主界面有四个可以切换的四个小菜单分别为:可更新、可选插件、已安装、高级。这四个菜单看字面意思就知道是干什么的,没错,点击高级就可以上传你准备好的插件包,耐心等待即可,上传成功之后点击已安装这个小菜单就可以看到你上传的插件了。这种方式可能更加适合于老手了,毕竟对于我们这种新手来说,并不知道有什么插件,是我们需要的,总不能因为某个插件未安装就一直导致部署不成功吧。所以个人更推荐使用下面这种,在安装好进来,jenkins会推荐给我们,让我们下载一些插件,毫无疑问下载就行了。

方式二、网络管理员给你机器赋予网络访问代理的权限。

   在第一次访问jenkins界面的会让你选择是否使用代理,这个时候就可以将准备好的代理服务器的ip和端口号,有帐号密码的话,可以填写帐号密码,填写完成后下载推荐的插件。

 

(2)centos准备打包环境

需要安装maven项目打包使用的环境:jdk8、maven、git

 jenkins主界面-> 系统管理 -> 全局工具配置 

    如果jenkins的这三个组件已经下载好了,此页面应该会显示让你配置机器上面jdk、maven、git安装地址,注意在填写的时候将上面推荐自动下载的对钩给去掉。

 注意只有下载了jenkins插件,才可以配置机器上面的环境地址。

 

配置SSH

     下载ssh插件:Publish over SSH

       jenkins主界面-> 系统管理 -> 系统配置 -> 找到SSH,毫无疑问此处配置的是你的目的机器的地址、帐号密码、操作目录。

这里只是配置,其作用想想也知道就是打包完成之后将文件上传到该路径下面的某个位置。下面会提到怎么使用这个了。

 

值得一说的是,到此步骤,基本上环境已经准备好了,我就按照网上的去操作,到主界面点击新建任务,....为什么没有“构建一个maven项目”的选项,然后就百度,现在我就想是不是我的版本太高了,或许吧,最终我试着下载一个maven插件,重启了以下jenkins就可以了,所以遇到这种情况别着急卸载换版本。

 

创建任务

     就是点击新建任务,选择构建一个maven项目。先说一下,里面都需要配一些什么东西:

    1、git代码地址,帐号、密码、分支

    2、触发器

               所谓触发器就是什么时刻去执行这个任务,可以选择定时或者其他方式。

     3、构建环境

              此处不需要选择,因为我们本身选择的就是构建一个vue项目,那这个地方什么时候用到呢?可以查看我的另外一篇文章:部署vue的话可以在此选择nodejs环境。

      4、构建

             maven项目的话,此处就不用管了。部署vue可以在此选择设置仓库地址或者执行一些其他的命令。

     5、构建后操作

             配置将打好的包部署到指定机器(上面ssh指定机器)上面的一些属性:

             source files: 表示你要上传的文件路径(打包好的文件)

             remove prefix:目录修正,其只能够是source files目录中的路径   

                       最终文件的路径为:remove directory + source files - remove prefix

              remove directory: 远程目录,是相对路径,相对于ssh中指定的路径。

               exec command:文件上传之后想要执行的命令,不填写也行,红色警告可以忽视,指定脚本的话,脚本要使用绝对路径。需要注意的是文件中可能有些命令不太好使,需要加载环境变量,例如:

               source /etc/profile

               cd /home/srcipt

               sh test.sh

 

    source files必须是一个文件,而不是一个目录,我们的项目中pom文件中配置了将所有的文件打包成tar包

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值