准备工作

首先判断服务器(Ubuntu)上是否安装了Java JDK,并配置了环境变量.

1
java -version

如果没有安装,则安装并配置JDK环境变量

  • ubuntu
    1
    2
    #默认安装方式
    sudo apt-get install openjdk-8-jdk
  • centos
    1
    sudo yum install java-1.8.0-openjdk

使用 Docker 安装 Jenkins

  1. 拉取镜像

    1
    docker pull jenkinsci/blueocean
  2. 创建 Jenkins 工作目录,将容器内目录挂载到此目录上,这样我们可以在宿主机上对文件的修改同步到容器内。

    1
    2
    mkdir -p /home/njdx/jenkins
    chmod 777 /home/njdx/jenkins
  3. 启动容器,同时映射宿主机和容器内端口。

    1
    2
    3
    4
    docker run -d -p 8080:8080 -p 50099:50000 \
    -v /home/njdx/jenkins:/var/jenkins_home \
    --name jenkins \
    jenkinsci/blueocean

解释:

1
2
3
4
# -d 后台方式启动
# -p 映射端口,宿主机端口:容器内端口
# -v 挂载卷,将容器Jenkins工作目录/var/jenkins_home挂载到宿主机目录/home/njdx/jenkins
# -name 给容器起个别名

  1. 查看容器是否启动成功

    1
    docker ps
  2. 查看 Jenkins 容器日志

    1
    docker logs jenkins
  3. 将 Jenkins 端口添加到防火墙。

    1
    2
    3
    firewall-cmd --zone=public --add-port=8080/tcp --permanent
    systemctl restart firewalld
    firewall-cmd --zone=public --list-ports

配置镜像加速

打开宿主机 Jenkins 工作目录下的hudson.model.UpdateCenter.xml文件。

1
vim /home/njdx/jenkins/hudson.model.UpdateCenter.xml

原始内容如下:

1
2
3
4
5
6
7
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>

url 修改为国内的清华大学官方镜像地址,最终内容如下:

1
2
3
4
5
6
7
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
</site>
</sites>

重启 Jenkins 服务。

1
2
docker stop 容器ID
docker start 容器ID

登录初始化 Jenkins

  1. 在浏览器访问http://219.216.65.59:8080 等待后出现如下界面,需要输入密码:
  2. 可以查看宿主机/home/njdx/jenkins/secrets/initialAdminPassword文件获取密码。
    1
    cat /home/njdx/jenkins/secrets/initialAdminPassword

或者进入容器,查看/var/jenkins_home/secrets/initialAdminPassword文件获取密码。

1
2
3
4
# 进入容器
docker exec -it 容器ID /bin/bash
# 查看密码
cat /var/jenkins_home/secrets/initialAdminPassword

  1. 输入密码后,出现如下界面,推荐选择第一种,选择后等待插件安装
  2. 创建一个 root 用户,并进行登录
    这里默认使用 admin cat /var/jenkins_home/secrets/initialAdminPassword

手动更新

  1. 进入jenkins容器(命令中的jenkins为容器的名称,根据自己的实际名称进行更改,可以docker ps查看容器信息来获取容器名称)
    1
    docker exec -it -u root jenkins /bin/bash
    备份旧版本war包
    1
    cp /usr/share/jenkins/jenkins.war /usr/share/jenkins/jenkins.war_backup
  2. 替换旧war包
    1
    docker cp jenkins.war jenkins:/usr/share/jenkins/
  3. 重新启动容器
    1
    docker restart jenkins