一、下载镜像

# 下载镜像
docker pull jenkins
# 创建数据卷目录
mkdir -p /home/qiang/docker-compose/jenkins
cd /home/qiang/docker-compose/jenkins
mkdir -p data/jenkins_home
chown -R 1000:1000 data/jenkins_home
mkdir -p data/war
# 下载最新war包,默认容器里的不是最新的,后面安装插件会出问题,这里安装最新的版本
wget -P data/war wget http://mirrors.jenkins.io/war/latest/jenkins.war
vim docker-compose.yaml

docker-compose.yaml

version: '3'
services:
  jenkins:
    restart: always
    image: jenkins:latest
    container_name: jenkins
    ports:
      - '8080:8080'
      - '50000:50000'
    volumes:
      - ./data/jenkins_home:/var/jenkins_home
      - ./data/war/jenkins.war:/usr/share/jenkins/jenkins.war
-- 启动容器
docker-compose up -d && docker logs -f jenkins

初始密码

image-20201223213407471

密码位置

# 容器位置
/var/jenkins_home/secrets/initialAdminPassword
# 宿主机位置
/home/qiang/docker-compose/jenkins/data/jenkins_home/secrets/initialAdminPassword

二、安装步骤

访问http://172.25.0.11:8080/地址

image-20201224001648949

输入密码

image-20201224004554779

安装插件,这里第二个选择安装插件,不确定可以选第一个默认安装建议的插件

image-20201224004709244

根据自己的需求安装插件

image-20201224004752010

创建管理员用户

image-20201224004840891

实例配置

image-20201224004906205

开始使用

image-20201224004942655

安装完成

image-20201224005016448

三、常用配置

3.1 配置中文界面

搜索插件chinese安装

image-20201223235752169

勾选安装完成后重启

image-20201223235919215

此时界面变成中文的了

image-20201224000549329

3.2 配置国内镜像源

# 默认镜像源
http://updates.jenkins-ci.org/update-center.json
# 清华镜像源
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json

修改默认配置

image-20201223220114083

四、常用插件

插件说明
chinese中文插件
Publish Over SSH通过SSH拷贝文件到目标机器,同时可以在目标机器上执行脚本
JUnit展示JUnit单元测试报告
JaCoCo生成测试覆盖率的报告
Git Parameter这是一个参数构建扩展,可以在构建的时候选择git的某一个分支来构建服务
Docker利用Docker容器动态创建Jenkins Slave
Kubernetes这个插件可以将Jenkins Slave Node动态配置为Kubernetes集群上的pod
Maven这个插件为Maven 2 / 3项目提供了高级集成功能

五、常见错误

5.1 版本太低

问题:

You must update Jenkins from v2.60.3 to v2.107.3 or later to run this plugin.

解决:

# 下载最新的war包
wget http://mirrors.jenkins.io/war/latest/jenkins.war
# 替换容器里的war包
--------------------------------------------------------------
version: '3'
services:
  jenkins:
    restart: always
    image: jenkins:latest
    container_name: jenkins
    ports:
      - '8080:8080'
      - '50000:50000'
    volumes:
      - ./data/jenkins_home:/var/jenkins_home
      - ./data/war/jenkins.war:/usr/share/jenkins/jenkins.war
--------------------------------------------------------------