Jenkins部署、备份、汉化、用户、代理
Jenkins安装、备份和恢复
一、安装Jenkins
下载安装包,官方地址
支持常见的部署方式
- 下载war包,将其放到tomcat中运行(放到webapps目录下,启动tomcat)
- 直接执行
java -jar jenkins.war --httpPort=8080
官方推荐
- 使用rpm包安装
下载repo文件
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
导入公钥
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
安装
yum install -y jenkins
也可以到https://pkg.jenkins.io/redhat-stable/下载rpm包
rpm -i jenkins-2.204.2-1.1.noarch.rpm
使用yum安装可能报错:Public key for jenkins-2.245-1.1.noarch.rpm is not installed
此时加上--nogpgcheck参数就可以了,rpm -i jenkins-2.204.2-1.1.noarch.rpm --nogpgcheck
-
docker容器部署
略 -
修改基本配置
vim /etc/sysconfig/jenkins
找到jenkins_prot=”8080” 将端口修改成想要的端口。
找到jenkins_user=root 将用户修改成root,避免权限问题 -
启动
systemctl start jenkins.service 启动jenkins
systemctl enable jenkins.service 设置jenkins开机启动
systemctl stop jenkins.service 关闭jenkins
systemctl status jenkins.service 查看jenkins的状态
jenkins的很多关联都是以插件方式完成的,如果不确定自己需要的插件的正确名字,选择推荐安装。
*目录结构
/var/lib/jenkins
config.xml jenkins的配置文件,不要自己编辑修改
credentials.xml 存储Git拉取的证书信息。
jobs 项目的配置保存目录,构建历史等信息存储目录,就是你在jenkins中配置item
plugins 是存放所有插件的目录
users 里面有所有的用户账号和账号信息、以及密码等
workspace 代码存储目录,在CI的时候会从gitlab上把代码下载到这里,pipeline中会对这个目录进行编译操作等,用$WORKSPACE表示。
二、开启备份
1、我安装的版本是Jenkins 2.235,其他版本都大同小异
2、打开jenkins首页-Manage jenkins
3、系统配置-插件管理
4、搜索jenkins,我这个是安装过的所以在installed里
5、Manage jenkins-一直往下拖找到thinBackup
6、点击进入-setting
Backup directory:备份位置,通过环境变量表示绝对路径
Backup schedule for full backups:完整备份的备份计划Backup schedule for differential backups:差异备份的备份计划
Max number of backup sets:最大备份数量
Files excluded from backup (regular expression):排除不需要备份的文件(通过正则表达式)
7、返回-点击backup now,会将jenkins备份到指定目录
8、同理恢复的时候点Restore
jenkins是CICD的管理平台,需要关联的都东西很多,比如gitlab、dockerhub、nexus 还有支持的jdk、nodejs等编译环境,还有证书、安全信任等。So请见下回分解~~
三、汉化
同上,安装locale插件,新版本还需要安装Localization:Chinese(Simplified) 插件
系统配置中找到Locale
四、用户管理
用户权限管理
jenkins的用户权限也是靠插件实现的,默认的用户只是配置登录。
用同样方法安装插件:Role-based Authorization Strategy
新建用户
Security-Manager user
设置权限
插件成功安装后,在manage jenkins下,一直拖到最后
点击进入
Manage Roles
管理角色中有三种,global roles、Item roles、Node roles
个人理解:global roles是全局权限配置,就是基础权限配置。我们在这里设配置大组,如开发组,测试组,运维组等。
Item roles是项目权限:按项目的角度设定用户对于项目的权限,这里我们设定具体的项目(模块)的流水线权限。
node roles是集群管理,选择用户可见的节点环境(多环境的话,可以将节点配置成不同的编译环境,猜测的,暂时没测试)
就是说用户首先会继承一个global roles比如开发,然后这个开发他对哪个项目有权限就是item roles
Assign Roles
同理,先添加用户属于哪个组,然后添加用户属于哪个项目。注意的是添加用的时候没有提示,敲错了也能添加上,就是会显示XX
测试
我们这里创建的三个用户也都是按照大组的属性来的,分别配置好用户所属的组,然后新建几个项目测试一下项目的权限。
jenkins权限规划
待补充