系统:CentOS 7
Jenkins版本: 2.121.3-1.1
Jenkins官网:https://jenkins.io/doc/book/i…
官网wiki:https://wiki.jenkins.io/displ…
一、Jenkins安装
1. 安装
安装之前肯定要先安装Java环境
方法一:在线安装(推荐)
Linux:https://pkg.jenkins.io/redhat…
$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
$ sudo yum list jenkins --showduplicates #列出所有可以安装的版本
$ sudo yum install jenkins #下载最新的版本
$ sudo yum install jenkins-2.121.3-1.1.noarch #指定版本下载
安装的时候,会自动做下面的操作:
- 会将Jenkins设为开机自动启动,具体细节可以查看脚本
cat /etc/init.d/jenkins
- 创建
jenkins
用户,来运行service。如果运行jenkins时使用的改为了其它用户, 则必须同步修改下面这几个文件的所属权限/var/log/jenkins
、/var/lib/jenkins
、/var/cache/jenkins
- 控制台输出日志存文件
/var/log/jenkins/jenkins.log
- 可以在
/etc/sysconfig/jenkins
中设置启动配置参数,默认启动端口为:JENKINS_PORT="8080"
安装目录: /usr/lib/jenkins
工作目录: /var/lib/jenkins(对应于环境变量 JENKINS_HOME)
配置文件:/etc/sysconfig/jenkins
日志:/var/log/jenkins/jenkins.log
方法二:基于Tomcat安装
- 安装并启动 Tomcat
- 从官网下载 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 会自动部署;
- 浏览器访问:http://localhost:8080
2. 启动
# 设置允许开机启动(在线安装的时候会自动设置)
$ sudo chkconfig jenkins on
# 启动相关
$ sudo systemctl start jenkins
$ sudo systemctl restart jenkins
或者
$ sudo service start jenkins
启动后访问:http://localhost:8080
不要访问
http://localhost:8080/jenkins/
,否则之后可能出现404错误:HTTP ERROR 404
Problem accessing /jenkins/. Reason: Not Found
3. 卸载
如果要重装,或者本机不需要 Jenkins,可卸载:
sudo systemctl stop jenkins
sudo systemctl disable jenkins
sudo yum -y remove jenkins
sudo rm -rf /var/{lib,log,cache}/jenkins /usr/lib/jenkins /root/.jenkins
sudo rm -rf `sudo find /{etc,var,run} -name "jenkins*"`
4. 权限问题
如果在root用户下安装,默认jenkins的管理权限是jenkins用户,访问的时候可能会出现以下错误:
Jenkins throwing error: jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and probably cannot be created
方法一: 使用root用户来管理jenkins(简单粗暴)
由于jenkins自动部署会用到shell命令,使用root用户会避免遇到更多的问题(但是实际生产中,更推荐不要使用root用户)
$ vim /etc/sysconfig/jenkins # 打开配置文件
$JENKINS_USER="root" # 修改$JENKINS_USER变量为root,并去掉当前行注释
#修改Jenkins相关文件夹用户权限(必须修改)
$ chown -R root:root /var/lib/jenkins
$ chown -R root:root /var/log/jenkins
$ chown -R root:root /var/cache/jenkins
#重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root
$ service jenkins restart
$ ps -ef | grep jenkins # 查看Jenkins进程所属用户
方法二:新建用户【推荐】
$ useradd song #添加新用户song
$ vim /etc/sysconfig/jenkins # 打开配置文件
$JENKINS_USER="song" # 修改$JENKINS_USER变量为root,并去掉当前行注释
#修改Jenkins相关文件夹用户权限(必须修改)
$ chown -R song:song /var/lib/jenkins
$ chown -R song:song /var/log/jenkins
$ chown -R song:song /var/cache/jenkins
#重启Jenkins服务并检查运行Jenkins的用户是否已经切换为song
$ systemctl restart jenkins
$ ps -ef | grep jenkins # 查看Jenkins进程所属用户
方法三:切换到jenkins用户
【不推荐使用此方法,会出现各种预想不到的问题】
修改 /bin/false
为 /bin/bash
$ vim /etc/passwd # 修改 jenkins用户的脚本执行目录
jenkins:x:993:989:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
$ su - jenkins #切换用户
会发现切换后jenkins变为了bash-4.2$
。原因是在安装jenkins时,jenkins只是创建了jenkins用户,并没有为其创建home目录。所以系统就不会在创建用户的时候,自动拷贝/etc/skel目录下的用户环境变量文件到用户家目录,也就导致这些文件不存在,出现用户名为bash-4.2$
的问题了,但是其实本质还是jenkins用户,只是名称显示的是bash-4.2$
。
在jenkins用户下执行下面的操作来修复这个问题:
#1.修改配置文件.bash_profile
$ vim ~/.bash_profile
export PS1='[\u@\h \W]\$' #加入此行代码(PS1:命令行提示符环境变量)
$ source ~/.bash_profile #刷新文件,使其有效
二、 使用
启动后访问http://192.168.137.131:8080,根据提示操作即可。
例如:
会出现 【解锁jenkins】的操作页面。
$ cat /var/lib/jenkins/secrets/initialAdminPassword
cc64c9d00bfd40babd37671df037417b #复制该密码并粘贴到页面输入框即可解锁。
之后选择【安装推荐的插件】。