使用 Docker 安装 Jenkins

Jenkins 简介

Jenkins 是一款开源的持续集成(DI)工具,广泛用于项目开发,能提供自动构建,测试,部署等功能。作为领先的开源自动化服务器,Jenkins 提供了数百个插件来支持构建、部署和自动化任何项目。

官网地址:https://www.jenkins.io/

它有如下特点:

  • 持续集成和持续交付
  • 易于安装
  • 易于配置
  • 插件功能
  • 可扩展性
  • 分布式

Jenkins 安装

此安装 Jenkins 基于 Docker 方式。首先拉取 Jenkins 镜像。

docker pull jenkinsci/blueocean

# 上面拉取的是最新的镜像,当时最新镜像对应的tag应该是1.25.3,所以你也可以按如下拉取
# docker pull jenkinsci/blueocean:1.25.3

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

mkdir -p /usr/local/jenkins
chmod 777 /usr/local/jenkins

启动容器,同时映射宿主机和容器内端口。

# -d 后台方式启动
# -p 映射端口,宿主机端口:容器内端口
# -v 挂载卷,将容器Jenkins工作目录/var/jenkins_home挂载到宿主机目录/usr/local/jenkins
# -name 给容器起个别名
docker run -d -p 8099:8080 -p 50099:50000 -v /usr/local/jenkins:/var/jenkins_home --name myjenkins jenkinsci/blueocean

查看容器是否启动成功。

[root@chenpihost local]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                                                      NAMES
538de1b1b1f5   jenkinsci/blueocean   "/sbin/tini -- /usr/…"   18 seconds ago   Up 17 seconds   0.0.0.0:8099->8080/tcp, :::8099->8080/tcp, 0.0.0.0:50099->50000/tcp, :::50099->50000/tcp   myjenkins

查看 Jenkins 容器日志。

docker logs myjenkins

将 Jenkins 端口添加到防火墙。

firewall-cmd --zone=public --add-port=8099/tcp --permanent
systemctl restart firewalld
firewall-cmd --zone=public --list-ports

配置镜像加速

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

vim /usr/local/jenkins/hudson.model.UpdateCenter.xml

原始内容如下:

扫描二维码关注公众号,回复: 16102269 查看本文章
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>

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

<?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 服务。

docker stop 容器ID
docker start 容器ID

当然,也可以在登录 Jenkins 后在插件的高级设置里进行配置镜像加速,如下:

1650673746856-ad733f08-a54b-47a8-a173-64e6f0972770.png

登录初始化 Jenkins

在浏览器访问http://jenkins所在主机ip:8099,出现如下界面需要等待些时间。

1650641268873-5713cfa9-0a15-4b40-a00f-07169fa66bc5.png

等待后出现如下界面,需要输入密码。

1650642089658-7938d0c9-5ae5-42c1-8b31-49a6d987f516.png

可以查看宿主机/usr/local/jenkins/secrets/initialAdminPassword文件获取密码。

cat /usr/local/jenkins/secrets/initialAdminPassword

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

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

输入密码后,出现如下界面,推荐选择第一种,选择后等待插件安装。

1650642148191-cf7d8ab7-ac27-44e2-a1d4-a160d413e560.png

1650642167773-226e463a-24e5-4816-bc5b-d5120a5ca4dd.png

创建一个 root 用户,并进行登录。

1650642297724-062acb32-c2f8-4c62-a326-704f2c2a3a84.png

登录成功后进入如下页面。

1650642366405-57187eb8-f3b9-49b7-92d1-d5175e67eba8.png

猜你喜欢

转载自blog.csdn.net/a772304419/article/details/132172946