docker安装jenkins的过程并配置jdk、node和maven

 更新时间:2024年10月12日 10:52:30   作者:qq243920161  
本文介绍了如何从拉取Jenkins镜像开始,通过创建文件夹、准备JDK、Maven和Node环境,修改settings.xml支持http协议,到建立Dockerfile进行Jenkins镜像的二次打包,同时涉及容器的运行、Jenkins初始化设置、插件安装和环境变量配置等步骤,帮助用户成功部署并运行Jenkins服务

拉取jenkins镜像

docker pull jenkins/jenkins:2.480-jdk21

创建一个文件夹,用于二次打包jenkins镜像

然后进入该文件夹,一会儿要有一些文件放在这里面

mkdir -p /data/jenkinscd /data/jenkins

提前准备好jdk、maven、node,并放到/data/jenkins下

由于3.8.x以上版本的maven只支持https协议,我们需要覆盖原有的settings.xml,让它支持http

准备settings.xml,文件内容如下

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
</settings>

我们需要将镜像进行二次打包,把我们所需要的东西都加进去,新建Dockerfile

FROM jenkins/jenkins:2.480-jdk21
EXPOSE 8080
# 将maven和jdk添加到容器中
# tar.gz添加进去后会自动解压,无需手动解压
ADD apache-maven-3.9.9-bin.tar.gz /usr/local
ADD jdk-8u421-linux-x64.tar.gz /usr/local
ADD node-v11.0.0-linux-x64.tar.gz /usr/local
# 覆盖容器里的settings.xml
ADD settings.xml /usr/local/apache-maven-3.9.9/conf/
# 配置环境变量
ENV TZ=Asia/Shanghai
ENV M2_HOME=/usr/local/apache-maven-3.9.9
ENV NODE_HOME=/usr/local/node-v11.0.0-linux-x64
# 配置maven、node的环境变量
# jdk环境变量不可在这里配,会影响jenkins的运行
ENV PATH=$M2_HOME/bin:$NODE_HOME/bin:$PATH

提前创建好jenkins_home,并授予最高权限

mkdir jenkins_home
chmod +777 jenkins_home

现在/data/jenkins下就会有这么几个文件

进行二次打包

docker build -t jenkins .

打包后,就能看到我们打包后的镜像

授予docker.sock权限,因为一会儿进入jenkins容器的时候要用docker命令

chmod +777 /var/run/docker.sock

然后我们把容器运行起来吧

docker run -d --name jenkins \
-p 0.0.0.0:8080:8080 \
-v /data/jenkins/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /run/docker.sock:/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
jenkins

等待一两分钟,访问访问你的ip地址:8080即可看到jenkins的首页

获取密码

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

看到这个页面后,安装推荐的插件即可

等待插件安装完成

安装完成后会弹出以下页面,使用admin账户登陆就可以了

进入Jenkins后要先修改密码,否则之后就进不去了

右上角,进入Security

修改成你想要的密码

改好后会自动跳到登录界面,用户名是admin,密码是你刚刚的密码

还记得刚刚Dockerfile,我们并没有配置jdk的环境变量,所以这边要手动配置一下

进入工具配置

配置jdk的安装目录

开始测试

新建一个项目

任务名称随便填,选择流水线

确定之后会进入项目的配置,我们找到流水线,输入测试脚本,保存

脚本如下

pipeline {
    agent any
    tools {
        // 刚刚配置jdk的名称
        jdk 'jdk8'
    }
    stages {
        stage('test') {
            steps {
                script {
                    sh """
                        docker -v
                        java -version
                        mvn -v
                        node -v
                        npm -v
                    """
                }
            }
        }
    }
}

点击立即构建

这里会显示构建状态

 我们点进去,然后点击Console Output,可以看到构建时,控制台的输出

在控制台中即可看到刚刚打印的版本号

本文只介绍怎么安装Jenkins,如果想要部署项目,请移步我的另一篇博客

Jenkins整合Docker实现CICD自动化部署(若依项目

到此这篇关于docker安装jenkins,并配置jdk、node和maven的文章就介绍到这了,更多相关docker安装jenkins内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker搭建devops(腾讯云轻量应用服务器)教程

    docker搭建devops(腾讯云轻量应用服务器)教程

    这篇文章主要为大家介绍了docker搭建devops(腾讯云轻量应用服务器)教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Docker下部署MinIO存储服务通过Buckets实现文件的远程上传功能

    Docker下部署MinIO存储服务通过Buckets实现文件的远程上传功能

    MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行,降低了存储成本,下面介绍在本地Docker中部署 MinIO 服务,并实现远程访问管理界面,节约云服务器运行成本,感兴趣的朋友跟随小编一起看看吧
    2024-01-01
  • 阿里云镜像安装docker报错的问题及解决方案

    阿里云镜像安装docker报错的问题及解决方案

    这篇文章主要介绍了阿里云镜像安装docker报错的问题及解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • docker 跨平台构建镜像的示例详解

    docker 跨平台构建镜像的示例详解

    这篇文章主要介绍了docker跨平台构建镜像的案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Docker容器的导入导出操作教程

    Docker容器的导入导出操作教程

    这篇文章主要给大家介绍了关于Docker容器的导入导出操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Docker调度器Kubernetes使用过程

    Docker调度器Kubernetes使用过程

    Docker和Kubernetes在使用方式上有相似性,初次接触这两个技术的同学常常会搞混,但实际上它们并不是解决同一个问题的技术,也没有办法用其中一个替代另一个。通俗一点来说,Docker解决的是容器技术直接相关的问题,而Kubernetes更多地关注在集群上调度和部署容器应用
    2022-12-12
  • Docker入门教程之拉取/创建镜像以及运行和管理容器

    Docker入门教程之拉取/创建镜像以及运行和管理容器

    在拉取镜像的过程中,由于网络问题、架构问题或镜像找不到等原因,可能会遇到一些困难,这篇文章主要介绍了Docker入门教程之拉取/创建镜像以及运行和管理容器的相关资料,需要的朋友可以参考下
    2025-08-08
  • 利用Dockerfile制作个人的镜像文件详细讲解

    利用Dockerfile制作个人的镜像文件详细讲解

    Docker是一个开源的应用容器引擎,Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本,本文将给大家详细介绍如何利用Dockerfile制作个人的镜像文件,感兴趣的同学可以借鉴参考
    2023-06-06
  • Docker部署Django应用的示例

    Docker部署Django应用的示例

    这篇文章主要介绍了Docker部署Django应用的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 一文弄懂docker的缓存机制

    一文弄懂docker的缓存机制

    Docker的缓存机制是指当你构建镜像时,Docker会尽可能重用之前步骤的输出,本文主要介绍了一文弄懂docker的缓存机制,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06

最新评论