环境

  • 服务器CentOS 7
  • 服务器上已经装好JDK 1.8
  • Jenkins版本2.60

Jenkins安装

下载安装包:

1wget https://pkg.jenkins.io/redhat/jenkins-2.60-1.1.noarch.rpm

安装:

1yum localinstall jenkins-2.60-1.1.noarch.rpm

创建JENKINS_HOME目录:

1mkdir /home/jenkins
2chown jenkins:jenkins /home/jenkins
  • 默认的JENKINS_HOME目录在/var/lib/jenkins下,因为我们服务器的数据盘挂在/home下

  • 如果Jenkins Master节点上安装了docker,并且需要jenkins构建docker相关的工作,需要将jenkins用户添加到docker用户组后,再重启一下jenkins服务:

    1usermod -a -G docker jenkins
    

修改/etc/sysconfig/jenkins定制配置:

1vi /etc/sysconfig/jenkins
2
3
4JENKINS_HOME="/home/jenkins"
5JENKINS_JAVA_CMD="/usr/local/jdk/bin/java"
6JENKINS_PORT="8083"

启动服务:

1systemctl start jenkins
2systemctl enable jenkins
3systemctl status jenkins

浏览器中打开jenkins的地址http://server:8083,根据页面提示输入initialAdminPassword完成初始化。

下面进入插件安装界面,可以先选择Install suggested plugins,当前2.60版本这个选择给安装的插件如下图所示:

jenkins-suggested-plugins.png

推荐的插件安装完成后,进入创建第一个管理员用户的界面,这里我们创建一个管理员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”,进入设置页面,按下图进行设置:

jenkins-thinbackup.png

设置完成后,进入ThinBackup插件主页面,手动除非一次备份,确认设置的备份目录里能够产生备份文件。

集成OpenLDAP

Jenkins集成LDAP需要使用LDAP Plugin,前面我们已经安装了这个插件,下面只要配置即可。

Configure Global Security中将访问控制-安全域修改为LDAP,并根据文档LDAP Plugin配置即可。

 1访问控制
 2安全域 选LDAP
 3	服务器 : 192.168.61.100389
 4	root DN: dc=frognew,dc=com
 5	User search base:ou=People
 6	用户搜索过滤器:uid={0}
 7	Group search base: ou=Group
 8	Group search filter: 留空,默认值为(& (cn={0}) (| (objectclass=groupOfNames) (objectclass=groupOfUniqueNames) (objectclass=posixGroup)))
 9	Group membership:选 Search for LDAP groups containing user
10		Group membership filte: 留空,默认值为 (| (member={0}) (uniqueMember={0}) (memberUid={1}))
11	Manager DN:cn=Manager,dc=frognew,dc=com
12	管理密码:******
13	Display Name LDAP attribute:uid
14	Email Address LDAP attribute:mail

参考