目录
- 官网服务包下载
- 部署环境准备
- 运行环境
- 环境变量修改
- 服务器账号权限处理过程
- 修改文件目录shell
- 启动jenkins(新手入门指引)
- 初始访问
- 根据提示找到默认admin密码登录
- 插件安装选择-跳过此处
- 默认新建用户-建议跳过
- 实例配置-建议不修改默认
- 新手指引完成
- Manage Jenkins
- 插件安装
- 批量更新
- 手动更新
- 用户管理(admin)
- 个人信息编辑
- 新建用户
- 用户权限设置
- 开启Manage and Assign Roles权限控制
- 权限配置详情
- Privileges
- Manage Roles
- Manage Roles——Global roles
- Manage Roles——Project roles
- Assign Roles
- Assign Roles——Global roles
- Assign Roles——Item roles
- 展示效果
因为项目需要,需要给开发团队在内网环境下搭建jenkins实现代码的部署,基本上都能找到相应的内容,本人只是将搭建过程中用到的相关资料做了梳理,方便下次使用。
整体文章内容比较长,就打算拆分成若干篇文档来完成这部分内容的描述,本篇是第一部分
官网服务包下载
到官网选择自己需要的版本,官网提供中文版本说明页面,可以自行挑选想要的版本
百度云盘下载地址(2.176.2 版本):
链接:https://pan.baidu.com/s/1N0Fl_0QHd8YiCGmHpIaALA
提取码:p99b
部署环境准备
介绍目前整体使用的软件环境
运行环境
- jdk 1.8
- tomcat 8.5.45
- git 1.8.3.1
- jmeter 5.1.1
- ant 1.10.6
- maven3.1.0
- Jenkins 2.176.2
环境变量修改
#root账号全局修改
vim /etc/profile
#只修改当前用户的相关环节变量
vim ~/.bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_181
export MAVEN_HOME=/home/maven/apache-maven-3.1.0
export JENKINS_HOME=/home/jenkins/
export JMETER_HOME=/home/jmeter/apache-jmeter-5.1.1
export ANT_HOME=/home/ant/apache-ant-1.10.6
## 注意classpath里需要配置jmeter的bin/ApacheJMeter.jar,否则运行的时候会报错
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/bin/ApacheJMeter.jar
export PATH=$JAVA_HOME/bin/:$PATH:$MYSQL_HOME:$NEXUS_HOME/bin:$MAVEN_HOME/bin:$JMETER_HOME/bin/:$ANT_HOME/bin/;
#完成以后source生效
source /etc/profile 或者 source ~/.bash_profile
#完成以后可以使用echo 输出变量来检查,或者直接运行相应的服务检查
服务器账号权限处理过程
为了确保jenkins可以正常使用, jenkins账号需要拥有/home/ant、/home/jmeter、/home/maven 等目录的相关读写权限,为了方便,直接将这几个目录的所属用户设置成jenkins。规范严谨的运维做法是每一块单独设置账号,这样不会因为某个权限的账号误操作影响其他用户。
- 用root账号给jenkins赋权/home 目录所有权
- 使用jenkins账号完成相关目录的创建和文件拷贝
- 用root账号收回/home 目录所有权
修改文件目录shell
#网上资料很多,不做赘述
chown 用户名 -R 目录名称
-R 代表递归操作,否则只处理当前目录
chmod 权限描述 -R 目录名称
-R 代表递归操作,否则只处理当前目录
启动jenkins(新手入门指引)
jenkins本质是一个war工程,利用tomcat运行,将war包拷贝到tomcat的webapps目录下启动即可。
启动包括运行过程中jenkins会执行自动更新,可以不去理会
初始访问
http://ip:端口/jenkins
根据提示找到默认admin密码登录
路径是 %JMETER_HOME%/secrets/initialAdminPassword 如果未设置%JMETER_HOME%环境变量,该路径就是tomcat的路径
插件安装选择-跳过此处
jenkins会根据当前服务器的网络情况来选择出现的页面,当前处于离线状态,本次介绍的环境也是离线安装的.代理配置部分就不做介绍。这里的话先直接跳过
默认新建用户-建议跳过
建议不要新建,因为新建账户以后默认用新账户登陆,但是新的账号没有配置任何权限,会出现一些不必要的麻烦
实例配置-建议不修改默认
这一步是全局环境变量的一个配置信息确认,在其他组件使用过程中需要用到,此处就不做修改
新手指引完成
此时默认用admin完成了登陆可以做后续的处理
Manage Jenkins
设置页面,很多内容涉及从这个入口进入,为了简化下文冗余图片,从这个入口进入的内容都不再单独截图展示
插件安装
插件下载包以*.hpi形式,完成安装后%JENKINS_HOME%/plugins会出现解压的包,包名为插件名称,里面都是jar和pom文件,同时部分hpi插件还会生成jpi形式的文件;如果存在hpi文件安装了但是需要重启生效,此时还会生成对应的.bak文件.,
批量更新
将下载的jpi文件拷贝到 %JENKINS_HOME%/plugins 目录下,然后重启服务,有两种方式
- 软件操作重启 http://ip:端口/jenkins/updateCenter
- 重启tomcat服务
批量方式部分hpi文件安装成功后,会删除相应的hpi文件,生成jpi文件。另外,因为部分文件存在依赖关系,批量安装的过程可能需要若干次重启。批量安装存在问题
目前matrix-auth.hpi、matrix-project.hpi使用批量形式无法成功更新,只能手工更新。
手动更新
http://ip:端口/jenkins/pluginManager/advancedManage Jenkins ——> Manage Plugin
用户管理(admin)
个人信息编辑
每个用户都可以设置,基本信息,用户姓名,描述,密码等
新建用户
http://ip:端口/jenkins/securityRealm/Manage Jenkins ——> Manage Users
用户权限设置
目前我的文档里使用的是经典的权限Manage and Assign Roles,基于角色的权限控制模型(很经典)。
- Privileges 权限信息,细化每一种操作对应的权限
- Roles 角色信息,针对角色属性配置相应的权限
- User 用户,选择分配相应的角色,拥有角色所属的权限
开启Manage and Assign Roles权限控制
使用Manage and Assign Roles的配置除了需要装插件以外,还需要在安全设置里开启。
http://ip:端口/jenkins/configureSecurity/Manage Jenkins ——> Configure Global Security
权限配置详情
http://ip:端口/jenkins/role-strategy/ 从Manage Jenkins——>Manage and Assign Roles
Privileges
权限控制,这里的Privileges部分jenkins已经预设好,没有维护的页面,只需要选择即可,没有单独的维护页面,在角色权限设置的时候选择。
Manage Roles
角色&权限编辑页面。按需选择,可以设置不同的页面权限。可以自行设置以后用配置的账号登录查看效果
Manage Roles——Global roles
全局权限设置web页面部分基础权限和针对jenkins job,这里针对全部的job做的配置admin对应的Project 权限就在这里做配置,无需再到Assign Roles里去设置
Manage Roles——Project roles
针对现有的jenkins job 来设置权限,比Global roles里提供更加精细的job权限控制Pattern可以支持模糊匹配, .*这个整体代表匹配的意思,不是单独的*,此处截图里面是匹配以uat-为前缀的job
Assign Roles
用户&角色编辑页面
Assign Roles——Global roles
对应Manage Roles的Global roles选择页面上不针对不存在的用户或者用户组做添加的相关限制,但是会有错误提示
Assign Roles——Item roles
对应Manage Roles的Project roles选择
页面上不针对不存在的用户或者用户组做添加的相关限制,但是会有错误提示;同时,必须要选择了role保存时才生效,否则保存不生效也不报错
展示效果
deploy账号admin账号