环境
- 服务器CentOS 7
- 服务器上已经装好JDK 1.8
- Jenkins版本2.60
Jenkins安装
下载安装包:
wget https://pkg.jenkins.io/redhat/jenkins-2.60-1.1.noarch.rpm安装:
yum localinstall jenkins-2.60-1.1.noarch.rpm创建JENKINS_HOME目录:
mkdir /home/jenkins
chown jenkins:jenkins /home/jenkins默认的
JENKINS_HOME目录在/var/lib/jenkins下,因为我们服务器的数据盘挂在/home下如果Jenkins Master节点上安装了docker,并且需要jenkins构建docker相关的工作,需要将jenkins用户添加到docker用户组后,再重启一下jenkins服务:
usermod -a -G docker jenkins
修改/etc/sysconfig/jenkins定制配置:
vi /etc/sysconfig/jenkins
JENKINS_HOME="/home/jenkins"
JENKINS_JAVA_CMD="/usr/local/jdk/bin/java"
JENKINS_PORT="8083"启动服务:
systemctl start jenkins
systemctl enable jenkins
systemctl status jenkins浏览器中打开jenkins的地址http://server:8083,根据页面提示输入initialAdminPassword完成初始化。
下面进入插件安装界面,可以先选择Install suggested plugins,当前2.60版本这个选择给安装的插件如下图所示:

推荐的插件安装完成后,进入创建第一个管理员用户的界面,这里我们创建一个管理员admin。
点击左侧“系统管理”菜单进入“管理Jenkins”页面,点击“Configure Global Security”,进入Configure Global Security页面,确认安全域设置的是Jenkins专有用户数据库。并将项目的“授权策略”选为“项目矩阵授权策略”,并将前面的创建的管理员用户admin添加到授权矩阵并授予所有权限。
安装完成!
插件安装
前面我们在安装Jenkins的过程中已经安装了官方建议的一些插件:
- Git plugin
- Gradle Plugin
- LDAP Plugin
- …
根据我们之前的经验还需要安装以下Plugin:
- Go Plugin
- build-name-setter
- Conditional BuildStep
- Mask Passwords Plugin
- Publish Over SSH
- ThinBackup
- Kubernetes plugin
Jenkins Node环境变量配置
在 系统管理 » 管理节点 » 某个节点的设置(齿轮图标) » 节点属性中添加环境变量。
全局工具配置
点击系统管理-Global Tool Configuration,进入全局工具配置页面。可以看到有如下开发构建相关的工具需要安装:
- JDK
- Git
- Gradle
- Docker
- Go
如果这些工具还没有安装,需要先安装好这些工具,然后在这个页面配置好这些工具,Jenkins在构建时将使用这些工具。
使用thinBackup备份关键配置
Jenkins的全局配置以及将来各个job的配置是十分重要和宝贵的,可以使用thinBackup设置一个备份策略,例如每天将这些关键的配置备份到其他目录。
在“系统管理”页面点击“ThinBackup”,进入ThinBackup插件的主页面,点击“Setting”,进入设置页面,按下图进行设置:

设置完成后,进入ThinBackup插件主页面,手动除非一次备份,确认设置的备份目录里能够产生备份文件。
集成OpenLDAP
Jenkins集成LDAP需要使用LDAP Plugin,前面我们已经安装了这个插件,下面只要配置即可。
在Configure Global Security中将访问控制-安全域修改为LDAP,并根据文档LDAP Plugin配置即可。
访问控制
安全域 选LDAP
服务器 : 192.168.61.100389
root DN: dc=frognew,dc=com
User search base:ou=People
用户搜索过滤器:uid={0}
Group search base: ou=Group
Group search filter: 留空,默认值为(& (cn={0}) (| (objectclass=groupOfNames) (objectclass=groupOfUniqueNames) (objectclass=posixGroup)))
Group membership:选 Search for LDAP groups containing user
Group membership filte: 留空,默认值为 (| (member={0}) (uniqueMember={0}) (memberUid={1}))
Manager DN:cn=Manager,dc=frognew,dc=com
管理密码:******
Display Name LDAP attribute:uid
Email Address LDAP attribute:mail