使用 docker-compose 部署 Jenkins

Jenkins 是一款非常流行的开源持续集成工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。

有关 Jenkins 的详细介绍,可以查看官网:https://www.jenkins.io

本篇博客主要介绍如何通过 docker-compose 快速部署 Jenkins 工具,也让大家避免踩坑

我的 CentOS7 虚拟机 ip 地址是 192.168.136.128,已经安装好了 docker 和 docker-compose


一、安装 JDK 和 Maven

我采用下载离线安装包,解压缩,配置环境变量的方式进行安装,这样比较方便

从官网上下载 JDK:https://www.oracle.com/java/technologies/downloads

从官网上下载 Maven:https://maven.apache.org/download.cgi

注意:目前新版本的 Jenkins 要求 JDK 的版本是 11、17、21,因此我下载的 JDK 版本是 17

我下载后的 JDK 文件名是:jdk-17_linux-x64_bin.tar.gz ,下载的 Maven 文件名是:apache-maven-3.9.6-bin.tar.gz

将文件上传到虚拟机的 /app 目录下,进行解压缩,然后将解压缩后的目录重命名为 jdk 和 maven

在 /etc/profile 文件的末尾,添加如下内容:

JAVA_HOME=/app/jdk
MAVEN_HOME=/app/maven
PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

然后运行 source /etc/profile 重新加载环境变量

运行 java -versionmvn -version 命令,如果可以看到版本号,则表明已经安装成功

image


二、部署 Jenkins

首先在虚拟机上创建目录 /app/jenkins,在其内部创建 data 目录和 docker-compose.yml 文件

设置目录的权限为 777,运行命令:chmod 777 /app/jenkins/data

注意:设置目录权限为 777 不能省略,否则 Jenkins 启动后由于没有权限写入文件而导致一些问题

然后访问 Jenkins 官网查看最新的 LTS 版本(LTS 是长期支持的版本),网址是:https://www.jenkins.io/download

image

当前我看到的最新版本是 2.440.1,我就使用这个版本的 docker 镜像

注意:最好使用最新版本的镜像,因为老版本部署后会出现无法安装插件的问题,主要是插件不支持老版本的 Jenkins

在 /app/jenkins 目录下编写 docker-compose.yml 文件,内容如下:

version: "3.5"
services:
  jenkins:
    # 这里的版本号,使用从官网上查看的最新 LTS 版本号
    image: jenkins/jenkins:2.440.1
    container_name: jenkins
    privileged: true
    restart: always
    ports:
      # web访问端口
      - "8066:8080"
      # 基于JNLP的Jenkins代理端口
      - "50000:50000"
    volumes:
      # jenkins的数据和配置文件目录映射
      - /app/jenkins/data:/var/jenkins_home
      # 将外部的jdk目录映射到容器内部
      - /app/jdk:/app/jdk
      # 将外部的maven目录映射到容器内部
      - /app/maven:/app/maven

最后运行 docker-compose up -d 命令启动服务,需要注意的时,Jenkins 服务启动速度比较慢,可能需要 2 分钟


三、验证访问

在 docker-compose.yml 中,我们映射到外部的 web 访问端口是 8066,因此访问 http://192.169.136.128:8066

image

使用 docker logs -f jenkins 从打印出来的日志中,找到首次登录所需的管理员密码

也可以从映射出来的目录中 /app/jenkins/data/secrets 查看 initialAdminPassword 文件获取密码

image

登录成功后,进入到如下界面,选择哪个都一样,安装默认的插件即可

image

如果你使用的最新版本 LTS 的 docker 镜像部署 Jenkins 的话,不会出现无法安装插件的问题,插件下载安装的速度也很快

image

安装完成后,就跳转到创建管理员用户的界面,我这里创建一个用户 qiao 密码为 123456

然后就进入到实例配置页面,保持默认的 Jenkins 访问地址即可,然后就进入 Jenkins 首页了


四、安装插件

在左侧点击 Manage Jenkins 菜单,然后右侧点击 Plugins 进入到插件管理界面

image

然后在左侧选择 Avaiable Plugins 菜单,搜索想要安装的插件,一般情况下我们需要安装上 Git Parameter 和 Publish Over SSH 插件

image

找到并勾选所需插件后,点击安装,在界面底部勾选【安装完成后重启】即可

image


五、全局工具配置

安装完插件重启 Jenkins 后,web 界面的汉化,似乎更好了一些

image

从左侧点击【系统管理】菜单,右侧点击【全局工具配置】进入到新界面

这里主要配置 jdk 和 maven 在 docker 容器内的路径

JDK 配置如下所示:

image

Maven 配置如下所示:

image


到此为止,docker-compose 部署 Jenkins 的相关细节已经介绍完毕,这里仅仅介绍如何快速部署,后续如果用到了,再详细介绍。

posted @ 2024-03-03 20:55  乔京飞  阅读(9584)  评论(0编辑  收藏  举报