Jenkins+Git+maven自动化构建

举报
郁唯xiaolin 发表于 2019/01/19 22:49:45 2019/01/19
【摘要】 知识背景很早的时候,听大神们念叨Jenkins,最近也一直在看Devops这个概念。Jenkins+git/svn 是实现这一概念中的一小步。我的理解是Jenkins这个集成工具,是Devops这个概念中最重要的一环吧,能集成版本管理工具,能集成maven等工具进行项目的构建(管理项目),能集成ssh/ansible等工具在构建的时候将构建成的项目进行上线部署,同时这个工具,还能在maven...

知识背景

很早的时候,听大神们念叨Jenkins,最近也一直在看Devops这个概念。Jenkins+git/svn 是实现这一概念中的一小步。我的理解是Jenkins这个集成工具,是Devops这个概念中最重要的一环吧,能集成版本管理工具,能集成maven等工具进行项目的构建(管理项目),能集成ssh/ansible等工具在构建的时候将构建成的项目进行上线部署,同时这个工具,还能在maven构建的时候进行代码质量检测。


前期准备介绍

1、做这个布置之前,我曾搭建了一个gitlab的服务器,这个服务器配置了gitlab的用户以及密码,稍后这个用户及密码会用到Jenkins的git管理插件中。同事gitlab作为一个git sever端的管理工具,还是比较方便的图形化界面,可视化操作,用起来比较能快速的上手。

2、gitlab这个工具,给了同事们做为版本管理的工具了,同时也给他们一个项目管理的工具,给开发员权限什么的管理。

3、该git 和Jenkins搭建与gitlab的搭建不在同一台服务器中。git+Jenkins的系统环境为centos6.5,其他自己配置吧。



基础环境布置

前面的git和maven以及nexus都是简单的东西,不需要太费精力做,安装能用就好。

一、Git的安装配置

    Jenkins工具使用git的插件,在宿主环境中必须要有git这个工具。

    安装Git工具,我用的是yum的方式,因为快啊,不需要太多的配置。

    

#centos6.X 安装Git  
yum install -y epel-release  
rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm  
yum list git2u  
yum install -y git2u  
git --version 
##如果是centos7的话
rpm -ivh https://centos7.iuscommunity.org/ius-release.rpm  
yum install -y git


    当然,还有其他比如源码安装,那个太新了,我觉得不如这个yum省事儿,就用了一些基本功能。高版本和低版本感觉上没有太多的差异。

二、maven的安装

ps:这之前应该是先部署一个jdk的,在此不写了,跟部署Maven差不多的步骤,注意版本得是1.8版以上的,要不然Jenkins不能运行。

下载apache-maven-3.0.5.tar.gz

解压到/usr/local/maven/下面,解压完成的完整目录是/usr/local/maven/apache-maven-3.0.5

下一步,在/etc/profile 这个文件中添加如下文件


 

export MAVEN_HOME=/usr/local/maven/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin


执行命令 /source /etc/profile

检查maven是否安装成功:

mvn -version 

f393948c-08c3-4115-b697-2689f39f2ba4.pngspacer.gif

如果出现上图的内容便是成功了。

三、Jenkins的部署

Jenkins的部署,可以用jar包的形式用如下命令启动java -jar jenkins.jar 来启动,我觉得不太好,就讲Jenkins的war包放在Tomcat的容器中

1、讲jenkins.war放到tomcat的webapps下,然后启动Tomcat(注意Tomcat的端口是否与其他冲突),启动之后,访问IP+port访问

spacer.gif1d9a85c5-75ed-4d98-ae30-c8039e135d12.png

进入以上节秒表示成功了,

其实第一次安装的时候,在这个前面,应该有一个不走是配置账户密码的。这个百度一下就好了,在此不具体写了,不关键的东西

2、安装插件  

需要安装的插件有这样几个:Git plugin  Deploy to container Plugin   Publish Over SSH    Maven Integration plugin   LDAP Plugin      Ansible plugin

大概就先这几个吧。可能以后功能多了,不止这几个呢。

在插件管理的界面中,添加未安装的插件,选择“直接安装”即可

205428609.pngfe333576-316d-4d06-9366-4cd4decfbcc1.png

到这个界面,等待完成即可。可能会因为网速不好等原因,造成时间稍微长一些。

另一个方式是从网上下载,然后,将hpi文件放到相应的地方地方。



3、配置Jenkins

(1)、在Tomcat中,需要在访问端口那个地方将字符集编码改为UTF-8:如下

spacer.gif767fe9c0-3000-4621-ab53-66733edc1ce2.png

不过这个好像默认就是的,检查一下吧。万一呢。。。

(2)、Jenkins工具配置中 设置jdk与git


在Jenkins的系统管理下的全局工具配置中,需要配置git,maven 等工具

159d3777-deb2-49f8-80c0-a32ee7914aee.png


以上两个是我的配置git和jdk的写法。自己的去查吧。比如用which命令查找到git和jave在哪儿。

(3)、maven与ansible设置

spacer.gifb4ef4737-2d72-49d4-8ad5-b8d9d6e4f5db.png

因为我可能用到了ansible  ,所以,也配置了ansible。

(4)、可能后期还会用到docker以及sonar这些工具,所以,可以先配置上,也可以等用的时候再配置。

(5)、在系统设置中,还可以设置管理员的邮箱,以及配置右键的发送什么的。这个好像需要什么的支持,我这边没有配置成功,不过暂时也用不到。所以就没有安装,需要的时候再配置吧。

(6)、在系统干涉之中还需要设置一个Jenkins Location

spacer.gif527f5310-7550-4e67-b978-12b249bf5d4f.png

(7)、配置下全局安全配置

9815ab15-d0f7-48d7-bac1-e5a6a900e00d.png

这个地方,我们公司没有ldap这个系统,所以,就采用专用用户数据库的配置了,然后 授权策略采用了安全矩阵的形式。并且,不允许注册,因为谁都可以注册的话,容易造成权限的不好管理,如果能管理好,那就可以允许注册。

如果公司同事需要这个,可以管理员给注册,采用给用户全名,加上公司的企业邮箱。

创建Job

一、创建项目

登录之后,可以创建项目、点击创建一个新项目(create a new project),

spacer.gifc933b4e3-cb5d-4778-b874-b6689d2f8c6c.png

在这个,填写任务名称(项目名称),然后选择第二个创建一个maven项目。之后点击“确定”

二、项目的配置

1、源码的管理采用git,git已经在前文配置好了,在这里写上项目的git仓库即可。

6b23e75b-4127-4cb2-9833-c50ee7322c3a.png

在这个地方,可以配置非对称加密的方式,也可以采用账号密码,点击“add”图标,添加账号密码。上图最下方有一个不完整的地方,是选择branch,这里git的管理规定是,master是稳定发布的分支。

2、构建触发器

spacer.gifab9f1a64-002c-4012-8f97-f1383d38337d.png

上面这个,也可以采用Poll SCM 这个是配置是和crontab的计划任务一样的计划任务。* * * * *这东西配置和crontab的配置一样。

3、构建环境

因为之前选择了,maven项目,所以不需要怎么设置,如果有需求sonar什么的,可以在这个地方配置。

spacer.gif8167fa3b-beed-4524-ab9a-019c31f109d5.png

4、配置pre  steps

spacer.gifb8bb6e9a-9a87-45a7-bd1d-90ce824f4bee.png

这个地方,我想把maven项目打成jar包,所以pom.xml的文件需要开发同事配合来写。后期开发项目也需要这么做。goals and options 按照上图来写就好了。post steps这个也按照上图来。

还有人配置添加了一些其他的步骤,比如ssh的需求,将项目部署到容器中,在这个地方先不写。

5、点击保存,即可

返回到主面板,可以点击后面的立即构建 图标 ,也可以点进项目中,有一个立即构建选项。这样就能够建立,可以查看输出日志。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。