一、安装准备

1、系统要求
最低要求
CPU 支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器
内存 2 GB 或更大 RAM(推荐使用 4 GB)
硬盘 需要 5GB 以上的可用磁盘空间
操作系统 CentOS 7 或更高版本
2、软件要求
  • JDK 8+

一、环境设置

1、设置镜像源

因为国外镜像网速较慢,推荐设置阿里云镜像源:https://opsx.alibaba.com/mirror

1、备份

[root@jenkins ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

[root@jenkins ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者

[root@jenkins ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

1.3、之后运行yum makecache生成缓存

[root@docker]# sudo yum makecache all;

1.4、执行yum update 更新系统组件到最新版本

[root@docker]# sudo yum update -y;
2、配置静态IP

通常在/etc/sysconfig/network-scripts目录下都会有 ifcfg-eth0 格式文件,修改该文件内容:

[root@jenkins ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

主要修改BOOTPROTO="static"ONBOOT="yes",并增加 IPADDRNETMASKGATEWAYDNS1

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="5b07acd3-b8bf-4a9e-b471-8e6330f2b622"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=192.168.1.102
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=119.29.29.29
ZONE=public

重启网卡

[root@jenkins ~]# service network restart
3、关闭防火墙

常用命令

[root@jenkins]# systemctl start firewalld    启动
[root@jenkins]# systemctl stop firewalld    关闭
[root@jenkins]# systemctl status firewalld    查看状态
[root@jenkins]# systemctl disable firewalld    开机禁用
[root@jenkins]# systemctl enable firewalld    开机启用

三、服务安装

1、安装JDK
$ sudo yum install java-11-openjdk
2、安装jenkins

导入jenkins密钥,执行如下命令:

$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
$ sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)

$ wget https://pkg.jenkins.io/redhat-stable/jenkins-2.176.2-1.1.noarch.rpm
$ rpm -ivh jenkins-2.176.2-1.1.noarch.rpm

添加依赖:

由于jdk11删除了不少包,所以根据官网指示,需要添加一些依赖的jar包:

  • jaxb-api-2.3.0.jar (save as jaxb-api.jar)

  • jaxb-core-2.3.0.1.jar (save as jaxb-core.jar)

  • jaxb-impl-2.3.0.1.jar (save as jaxb-impl.jar)

  • javax.activation v.1.2.0 (save as javax.activation.jar)

详见官网: https://jenkins.io/blog/2018/12/14/java11-preview-availability/

将四个包下载到 /usr/lib/jenkins 下和jenkins.war放一起比较合适

配置jenkis:

$ vi /etc/sysconfig/jenkins

找到”JENKINS_JAVA_OPTIONS”,修改为如下:

JENKINS_JAVA_OPTIONS=”-Djava.awt.headless=true -p /usr/lib/jenkins/jaxb-api-2.3.0.jar:/usr/lib/jenkins/javax.activation.jar –add-modules java.xml.bind,java.activation -cp /usr/lib/jenkins/jaxb-core-2.3.0.1.jar:/usr/lib/jenkins/jaxb-impl-2.3.0.1.jar”

找到”JENKINS_ARGS”,修改为如下:

JENKINS_ARGS=”–enable-future-java”

找到修改端口号:

JENKINS_PORT=”8080” 此端口不冲突可以不修改

3、启动jenkins
$ systemctl start jenkins.service
  • 安装成功后Jenkins将作为一个守护进程随系统启动
  • 系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者
  • 启动的时候将从/etc/sysconfig/jenkins获取配置参数
  • 默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
  • Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo
4、打开 Jenkins

在浏览器中访问

首次进入会要求输入初始密码如下图,

初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。

创建超级管理员账号:

5、修改Jenkins路径

Jenkins的默认安装路径是/var/lib/jenkins 现在由于这个根目录的磁盘太小,所以切换到/www 目录下。
Jenkins目录、端口、工作目录等信息在/etc/sysconfig/jenkins 下,所以需要修改这个文件。
将JENKINS_HOME=”/var/lib/jenkins” 改成JENKINS_HOME=”/www/jenkins”
并将/var/lib/jenkins 路径的文件拷贝到/www/ 下。

$ sudo cp -a /var/lib/jenkins/ /www/

如果是后期修改,需要修改下面文件:

vi /etc/sysconfig/jenkins

## Path:        Development/Jenkins
## Description: Jenkins Automation Server
## Type:        string
## Default:     "/var/lib/jenkins"
## ServiceRestart: jenkins
#
# Directory where Jenkins store its configuration and working
# files (checkouts, build reports, artifacts, ...).
#
JENKINS_HOME="/www/jenkins"
## Type:        string
## Default:     "jenkins"
## ServiceRestart: jenkins
#
# Unix user account that runs the Jenkins daemon
# Be careful when you change this, as you need to update
# permissions of $JENKINS_HOME and /var/log/jenkins.
#
#JENKINS_USER="jenkins"
JENKINS_USER="root"

jenkins构建任务时,maven命令报错:Could not create local repository at /root/.m2/repository

解决方法:修改配置文件/etc/sysconfig/jenkins,将执行用户改为root,然后重启

6、彻底卸载jenkins
$ service jenkins stop
$ yum clean all
$ yum -y remove jenkins
$ rm -rf /var/cache/jenkins
$ rm -rf /var/lib/jenkins/
FAQ
  1. Jenkins安装完之后会自行生成一个Jenkins的账号,密码未知。另外,运行sudo su jenkins 命令时会出现无法切换的情况。这个是因为Jenkins在安装的/etc/passwd 文件中/bin/bash 变成了/bin/false 引起的。

解决方法是:

  • sudo vim /etc/passwd
  • 修改 passwd文件中的/bin/false 变成/bin/bash
  • 在修改完passwd文件之后再运行sudo su jenkins 还会出现bash-4.2 而不是jenkins用户。
  • 需要运行export PS1=’[\u@\h \W]$‘ 才能正常切换到jenkins用户。
作者:Jeebiz  创建时间:2019-07-04 12:15
 更新时间:2023-12-28 09:15