您现在的位置是:首页 >技术杂谈 >使用Docker部署Jenkins网站首页技术杂谈

使用Docker部署Jenkins

-代号9527 2024-06-18 16:08:38
简介使用Docker部署Jenkins

Jenkins是一款开源的持续集成(DI)工具,广泛用于项目开发,能提供自动构建,测试,部署等功能。

1、安装

接下来使用Docker部署Jenkins:

  • 拉取Jenkins镜像
docker pull jenkinsci/blueocean
# 拉取Jenkins的最新镜像
  • 创建 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 8090:8080 -p 50000:50000 -v /usr/local/jenkins:/var/jenkins_home --name myjenkins jenkinsci/blueocean
  • 查看容器状态
docker ps|grep -i jenkins
  • 查看容器日志
docker logs myjenkins
  • 将映射到主机的端口添加到防火墙
firewall-cmd --zone=public --add-port=8090/tcp --permanent
systemctl restart firewalld
firewall-cmd --zone=public --list-ports

2、配置镜像加速

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

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>

重启容器

docker restart 容器ID

或者在页面上更改也可以

在这里插入图片描述

3、登录初始化Jenkins

  • 访问http://主机IP:8090(端口看你启动容器时的映射到主机上的端口)
    在这里插入图片描述

  • 需要输入密码
    在这里插入图片描述

  • 获取密码

# 因为容器的/var/jenkins_home/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
  • 安装推荐的插件(方便后续支持构建、部署和自动化项目)
    在这里插入图片描述在这里插入图片描述
  • 创建用户
    在这里插入图片描述
  • 登录成功
    在这里插入图片描述

4、配置Jenkins

配置JDK

使用容器方式安装的 Jenkins,容器内已经默认安装好 JDK 了:

docker exec -it 容器ID /bin/bash
bash-5.1$ java -version
openjdk version "11.0.16.1" 2022-08-12

bash-5.1$ echo $JAVA_HOME
/opt/java/openjdk

将 JDK 安装的路径配置到 Jenkins 全局配置中:Manage Jenkins --> 全局工具配置

在这里插入图片描述

配置Maven

在这里插入图片描述
安装Maven插件

在这里插入图片描述

# 重启Jenkins容器
docker restart 容器ID

配置成功:

在这里插入图片描述

接下来就可以选择新建Maven项目进行后面的构建工作

在这里插入图片描述
在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。