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

  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.ssh\id_rsa (这里需要注意的是,一定要定位到私钥文件本身,不能是所在文件夹);第三种是Jenkins服务从默认的{user}/.ssh文件中查找,如果你的私钥文件在这个文件夹下,就可以选择这种 方式;

  4. 为了能够jenkins能够从git上pull下代码并进行项目构建和发布,所以还需要安装以下几个插件:scm-api.hpi;git-client.hpi;git.hpi;deploy.hpi;安装插件的时候尽量按照这个顺序,如果先安装git.hpi会有找不到前面两个插件的错误;
    系统管理->插件管理->高级;可以选择可选插件在线安装,也可以手动安装插件,下面截取是手工安装插件界面:
    这里写图片描述

  5. 至此,所有得准备工作就做好了,此时就可以新建任务了:
    主页->新建
    Item名称:根据需要自定定义;因为我们的项目是maven项目,所以我选择的构建一个maven项目;
    这里写图片描述
    点击”ok”后进入项目描述和配置页面:项目名称为之前定义的item名称,描述可根据自身需要对项目进行相应描述,也可不填;
    源码管理:我选择的是git,
    RepositoryUrl:给定自己的项目所在地址,
    Gredentials:下拉框选择第三步中配置的私钥,这样构建项目的时候,jenkins可以自动从git上pull最新的代码,并进行构建,我的配置如下:
    这里写图片描述
    这里写图片描述
    这样,项目就可以进行基本的构建了,当想要在构建成功后直接发布到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服务部署项目到指定服务器时,不能成功;

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

  1. 此时,进入自新建的项目,点击立即构建,jenkins会自动根据我们的相关配置进行项目构建和发布项目到指定的tomcat中。
    需要注意的是,指定的tomcat需要先启动,才能进行发布,不然构建过程中,jenkins进行项目发布的时候会报错。
    鼠标指向左侧构建历史中,当前的构建任务序号的右侧有小三角符号浮现,点击会展开如图中悬浮框,点击Console Output,会看到构建过程中的日志输出:
    这里写图片描述

  2. 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权限的情况);然后为对应的用户设置对应的项目权限,这样,不同用户进来只能看到自己角色权限设置的项目匹配规则符合的项目;

  3. 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服务进行代码的审核分析;
    选择对应的项目配置,进入如下界面:选择增加构建后操作步骤,选择红色选中框的内容,在页面中就会出现截图上方红色选中框内容,此时,项目在构建的时候就会自动进行代码审核分析了。
    这里写图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值