一、官网地址

https://www.jenkins.io/zh/

二、准备

2.1.系统

centos7

2.2.官网要求
  • 机器要求:
    • 256 MB 内存,建议大于 512 MB
    • 10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)
  • 需要安装以下软件:
    • Java 8 ( JRE 或者 JDK 都可以)
    • Docker (导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载)

      二、安装

      2.0docker安装

      谨慎使用docker安装,之前出现了很多问题,比如无法重启等
      1. docker pull jenkins/jenkins
      所以我们在服务器上先创建一个jenkins工作目录, /var/jenkins_mount,赋予相应权限,稍后我们将jenkins容器目录挂载到这个目录上,这样我们就可以很方便地对容器内的配置文件进行修改。
      1. mkdir -p /var/jenkins_mount
      2. chmod 777 /var/jenkins_mount
      1. docker run -d -p 8888:8080 -p 8889:50000 -v /var/jenkins_mount:/var/jenkins_home -v /opt/maven:/usr/local/maven -v /usr/share/java8:/usr/local/java8 -v /usr/local/nodejs16.15:/usr/local/nodejs16.15 -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins
      然后使用docker在后台启动jenkins镜像,注意maven一定要挂载
      这里我没有挂载jdk,是因为centos自带jdk,所以我可以在容器中使用自带的jdk 如果你们使用的是windows或者其他版本的操作系统建议也挂载上jdk
      可以通过docker ps 看看jenkins是否启动,如果未启动使用docker ps -a 查询所有的容器,找到对应jenkins的容器id,使用docker rm [容器ID]删除,再重新检查命令是否正确、端口等等问题,并启动镜像创建容器。
      可以通过docker logs jenkins命令查看日志,可以看到Jenkins就是一个Spring项目。
      进入容器,检查一下maven是否挂载成功,进入容器的命令是docker exec -it 【容器ID】 bash,进入到我们刚才指定的Maven目录,也就是/usr/local/maven,可以看到确实有maven。
      需要注意的是,这里显示的是jenkins_home路径,由于我设定的目录是jenkins_mounts,故我的密码放置目录是/var/jenkins_mount 所以建议使用cd和ls命令一层一层进入密码目录
      把找到的密码输入即可。
      安装两个插件,一个是publish over ssh,一个是Maven Integration

2.1.安装包安装

安装包下载地址:https://pkg.jenkins.io/
image.png
传入Linux服务器
执行以下命令

  1. sudo rpm -ih jenkins-2.73xx.rpm

2.2.官网安装

2.2.1.拉取

  1. sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
  2. sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

2.2.2.安装

  1. yum install epel-release # repository that provides 'daemonize'
  2. yum install java-11-openjdk-devel //如果已经安装了jdk8,也可以不再安装
  3. yum install jenkins

说明,这里下载安装会失败,可以多次尝试,或者配置阿里云镜像
下载阿里CentOS7源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
运行以下命令生成缓存:清理 yum clean all 生成缓存 yum makecache
然后重新下载安装

2.2.3.秘钥

  1. pub rsa4096 2020-03-30 [SC] [expires: 2023-03-30]
  2. 62A9756BFD780C377CF24BA8FCEF32E745F2C3D5
  3. uid Jenkins Project
  4. sub rsa4096 2020-03-30 [E] [expires: 2023-03-30]

三、启动

注意,执行以上操作后,如果之前系统中有旧版本的Jenkins,会自动覆盖升级,重新启动即可

  1. systemctl start jenkins

四、启动成功

image.png
上一步是选择安装插件
image.png
image.png
这里新建一个root账户,继续
image.png
image.png
重启后,刷新页面,使用root账户登录,下图为登录成功
image.png

五、插件安装

5.1.修改插件下载地址

Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址:
首先点击available,这样做是为了把Jenkins官方的插件列表下载到本地,接着修改地址文件,替换为国内插件地址:

  1. cd /var/lib/jenkins/updates
  2. sed -i 's/https:\/\/updates.jenkins.io\/download/http:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json

最后,把update site改为国内插件下载地址:
[http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json](http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json)
如下:
image.png
image.png
Submit后,在浏览器输入:http://192.168.254.130:8888/restart,重启Jenkins。

5.2.安装汉化插件

选择以下插件,可以在已安装目录中搜一下,如果已经安装,直接跳过
image.png

image.png
已经部分汉化
image.png

5.3.安装权限管理插件

选择以下插件,用户权限管理
image.png
修改全局权限验证
image.png
image.png
创建角色以及分配权限
image.png
image.png
image.png
创建用户
image.png
然后回角色管理分配角色权限

5.4.安装maven插件

image.png
安装后可以构建maven项目,如上
插件名:
image.png

六、docker安装

6.1.启动docker,下载Jenkins镜像文件

  1. docker pull jenkins/jenkins

2.创建Jenkins挂载目录并授权权限(我们在服务器上先创建一个jenkins工作目录 /var/jenkins_mount,赋予相应权限,稍后我们将jenkins容器目录挂载到这个目录上,这样我们就可以很方便地对容器内的配置文件进行修改。 如果我们不这样做,那么如果需要修改容器配置文件,将会有点麻烦,因为虽然我们可以使用docker exec -it —user root 容器id /bin/bash 命令进入容器目录,但是连简单的 vi命令都不能使用)

  1. mkdir -p /var/jenkins_mount
  2. chmod 777 /var/jenkins_mount

3.创建并启动Jenkins容器

  1. docker run -d -p 8888:8080 -p 50000:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkinsci/blueocean

4.配置镜像加速

  1. cd /var/jenkins_mount/

修改 vi hudson.model.UpdateCenter.xml里的内容
将 url 修改为 清华大学官方镜像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json