您的位置:首页 > 编程语言

Jenkins的部署及使用教程(插件集成sonar服务,构建过程做代码分析)

2016-06-02 15:44 766 查看
             1.大家可以到Jenkins官网:https://jenkins.io/ ,下载jenkins.war,然后放到自己准备运行的tomcat的webapps文件夹下,启动tomcat服务,即可通过:http://localhost:8080/jenkins 进行访问,主页如下图所示:

 

 

          

-

             2.点击系统管理->系统设置  ,进入系统设置界面;由于我在启动服务前配置了环境变量JENKINS_HOME(指定jenkins的workspace)的地址,所以的主目录地址不是默认的 {user}/.jenkins

          


          

        在此页面,需要对jdk,git(需要先安装插件,才有这个配置,插件安装见第四步),maven进行相关的配置,我的配置如下:

                


 

                     


 

 

                       


 

                                配置好这三项,点击页面最下方”保存“按钮进行保存即可,其他项都为默认状态即可;

                    3.因为我们的项目代码时用git做版本管理的,所以为了jenkins服务能够访问到我们项目的代码,所以导入我们git的私钥,需要进行以下配置:

                       系统管理->Manage Credentials:->Add Credentials->SSH Username with private key

 

                          




 

                   上图右侧那张图是add界面;Scope默认为Global,Username:用户名,根据需要随意定义,Description:描述,也可根据需要随意定义;Private key有三个选项,也就是三种方式进行导入:Enter     directly选项:需要贴上生成的私钥的编码:用Notepad++打开id_rsa复制,粘贴过来即可;第二种From a file on Jenkins master:填写私钥的对应路径,如:我本地的连接fms项目的私钥地址为:D:\Users\ex-
gongdaoshun700\.ssh\id_rsa  (这里需要注意的是,一定要定位到私钥文件本身,不能是所在文件夹);第三种是Jenkins服务从默认的{user}/.ssh文件中查找,如果你的私钥文件在这个文件夹下,就可以选择这种 方式

                   4.为了能够jenkins能够从git上pull下代码并进行项目构建和发布,所以还需要安装以下几个插件:scm-api.hpi;git-client.hpi;git.hpi;deploy.hpi;安装插件的时候尽量按照这个顺序,如果先安装git.hpi会有找不到前面两个插件的错误;

                     系统管理->插件管理->高级;由于我们工作电脑网络受限,无法直接在可选插件中进行安装,所以只能手动安装插件,经实际操作,学习环境可以通过可选插件进行安装,如有想体验者,可以再学习环境进行学习;注意点:大家在学习环境操作时,运行服务要严格根据pms中业务项目->开发服务器 中的端口号进行设置自己的服务器端口,避免与他人造成冲突

                               


 

 

                       需要上传的插件,在附件中:Jenkins插件.rar

                   5.至此,所以得准备工作就做好了,此时就可以新建任务了:

                         主页->新建

                        Item名称:根据需要自定定义;因为我们的项目是maven项目,所以我选择的构建一个maven项目;

                          


                          点击"ok"后进入项目描述和配置页面:项目名称为之前定义的item名称,描述可根据自身需要对项目进行相应描述,也可不填;

                          源码管理:我选择的git,Repository Url :给定自己的项目所在的地址,Credentials:下拉框选择第三步中配置的私钥;这样构建项目的时候,jenkins可以自动从项目所在git路径拉取最新代码,并进行构建;我的配置如下

                          


                                       


 

                    

                          这样,项目就可以进行基本的构建了,当想要在构建成功后直接发布到tomcat服务器,在页面最下方:增加构建后操作步骤,下拉框选择 Deploy war/ear to container,会弹出如下界面:

                           WAR/EAR files:填写打包生成war包的路径,我的配置是:**/*.war

                           Context path:生成war的名字,根据需要,自行定义;

                           Container:容器,我选择的tomcat 7.x

                           manager user name:部署项目的容器的访问用户名

                           manager password:访问用户密码

                           tomcat url: 服务器的访问地址

                       


                              所选择部署项目的服务器,在tomcat-users.xml添加如下配置即可:                 

                            <role rolename="manager-gui"/>

                            <role rolename="manager-script"/>

                            <role rolename="manager-jmx"/>

                            <role rolename="manager-status"/>

                            <user username="username" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

                            如果指定服务器没有定义用户名,密码,jenkins服务部署项目到指定服务器时,不能成功;

                             配置完成后,进行保存即可;

                       6.此时,进入自新建的项目,点击立即构建,jenkins会自动根据我们的相关配置进行项目构建和发布项目到指定的tomcat中

                          需要注意的是,指定的tomcat需要先启动,才能进行发布,不然构建过程中,jenkins进行项目发布的时候会报错

                         鼠标指向左侧构建历史中,当前的构建任务序号的右侧有小三角符号浮现,点击会展开如图中悬浮框,点击Console Output,会看到构建过程中的日志输出

                         



                         7.jenkins基于项目权限的角色控制

                              在此之前需要安装权限控制的插件:role-strategy.hpi,安装成功后:系统管理->Configure
Global Security

                               


                                  安全域:Jenkins专有用户数据库,不勾选用户注册,这样主界面只能选择登陆,不能注册,新增用户需要管理员权限人员在用户模块进行新增用户操作;授权策略:Role-Based Strategy(安装了role-strategy插件才会有);

                                  

                                  此时,在系统管理页面可以看到Manage and Assign Roles这个选项,这个地方可以设置角色权限,并为用户分配角色;

                                     


                                   Manage Roles 是管理角色

                                          


                                            

                                            Global roles:设置全局角色,在这里我配置了管理员角色,拥有所有的权限,配置了anonymous(所有人员)角色,没有任何权限;read角色,仅有Read权限;

                                            Project roles:Role,角色名称,Pattern:匹配规则,如:gds-.*,匹配以所有已“gds-”开头的项目;

 

                                     Assign Roles是为用户分配角色:注意:用户可有admin权限用户在系统管理->管理用户->新建用户 中进行用户添加,然后在进行角色分配,进行角色分配,分配角色时,add的是用户名。

                                             



                                     为了每个非管理人员分配read角色权限,避免用户登陆后看不到任何界面(有好奇心的可以自己试试不给read权限的情况);然后为对应的用户设置对应的项目权限,这样,不同用户进来只能看到自己角色权限设置的项目匹配规则符合的项目;

                                 8.jenkins使用sonar插件集成sonar服务,在项目构建的过程中对项目进行代码分析;

                                         首先,系统管理->插件管理:高级 ->上传插件:sonar.hpi

                                         安装完插件后,系统管理->系统设置:SonarQube servers ->Add SonarQube

                                             


                                   Name:随意

                                   ServerUrl:sonar服务的地址

                                   Server version:选择的sonar的版本

                                   Server authentic action token:需要自己到server服务中生成登陆用户的token(根据以下步骤生成访问用户的token,填写到这里即可),具体操作:进入sonar服务,使用用户登陆,然后选择配置->权限->用户



                                   点击图中红色框选中标志,弹出弹窗层:

                                                 


                                   输入新建token的名字,然后点击Generate按钮即可:

                                                 


                                此时,sonar服务就配好了,接下来,配置项目构建步骤,让项目在每次构建成功后,调用sonar服务进行代码的审核分析;

                                选择对应的项目配置,进入如下界面:选择增加构建后操作步骤,选择红色选中框的内容,在页面中就会出现截图上方红色选中框内容,此时,项目在构建的时候就会自动进行代码审核分析了。

                                     


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: