Jenkins+Git+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
如果出现上图的内容便是成功了。
三、Jenkins的部署
Jenkins的部署,可以用jar包的形式用如下命令启动java -jar jenkins.jar 来启动,我觉得不太好,就讲Jenkins的war包放在Tomcat的容器中
1、讲jenkins.war放到tomcat的webapps下,然后启动Tomcat(注意Tomcat的端口是否与其他冲突),启动之后,访问IP+port访问
进入以上节秒表示成功了,
其实第一次安装的时候,在这个前面,应该有一个不走是配置账户密码的。这个百度一下就好了,在此不具体写了,不关键的东西
2、安装插件
需要安装的插件有这样几个:Git plugin Deploy to container Plugin Publish Over SSH Maven Integration plugin LDAP Plugin Ansible plugin
大概就先这几个吧。可能以后功能多了,不止这几个呢。
在插件管理的界面中,添加未安装的插件,选择“直接安装”即可
到这个界面,等待完成即可。可能会因为网速不好等原因,造成时间稍微长一些。
另一个方式是从网上下载,然后,将hpi文件放到相应的地方地方。
3、配置Jenkins
(1)、在Tomcat中,需要在访问端口那个地方将字符集编码改为UTF-8:如下
不过这个好像默认就是的,检查一下吧。万一呢。。。
(2)、Jenkins工具配置中 设置jdk与git
在Jenkins的系统管理下的全局工具配置中,需要配置git,maven 等工具
以上两个是我的配置git和jdk的写法。自己的去查吧。比如用which命令查找到git和jave在哪儿。
(3)、maven与ansible设置
因为我可能用到了ansible ,所以,也配置了ansible。
(4)、可能后期还会用到docker以及sonar这些工具,所以,可以先配置上,也可以等用的时候再配置。
(5)、在系统设置中,还可以设置管理员的邮箱,以及配置右键的发送什么的。这个好像需要什么的支持,我这边没有配置成功,不过暂时也用不到。所以就没有安装,需要的时候再配置吧。
(6)、在系统干涉之中还需要设置一个Jenkins Location
(7)、配置下全局安全配置
这个地方,我们公司没有ldap这个系统,所以,就采用专用用户数据库的配置了,然后 授权策略采用了安全矩阵的形式。并且,不允许注册,因为谁都可以注册的话,容易造成权限的不好管理,如果能管理好,那就可以允许注册。
如果公司同事需要这个,可以管理员给注册,采用给用户全名,加上公司的企业邮箱。
创建Job
一、创建项目
登录之后,可以创建项目、点击创建一个新项目(create a new project),
在这个,填写任务名称(项目名称),然后选择第二个创建一个maven项目。之后点击“确定”
二、项目的配置
1、源码的管理采用git,git已经在前文配置好了,在这里写上项目的git仓库即可。
在这个地方,可以配置非对称加密的方式,也可以采用账号密码,点击“add”图标,添加账号密码。上图最下方有一个不完整的地方,是选择branch,这里git的管理规定是,master是稳定发布的分支。
2、构建触发器
上面这个,也可以采用Poll SCM 这个是配置是和crontab的计划任务一样的计划任务。* * * * *这东西配置和crontab的配置一样。
3、构建环境
因为之前选择了,maven项目,所以不需要怎么设置,如果有需求sonar什么的,可以在这个地方配置。
4、配置pre steps
这个地方,我想把maven项目打成jar包,所以pom.xml的文件需要开发同事配合来写。后期开发项目也需要这么做。goals and options 按照上图来写就好了。post steps这个也按照上图来。
还有人配置添加了一些其他的步骤,比如ssh的需求,将项目部署到容器中,在这个地方先不写。
5、点击保存,即可
返回到主面板,可以点击后面的立即构建 图标 ,也可以点进项目中,有一个立即构建选项。这样就能够建立,可以查看输出日志。
- 点赞
- 收藏
- 关注作者
评论(0)