docker安装jenkins,并配置jdk、node和maven

拉取jenkins镜像

docker pull jenkins/jenkins:2.480-jdk21

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

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

mkdir -p /data/jenkins
cd /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自动化部署(若依项目)-CSDN博客 

安装Jenkins配置JDK,你可以按照以下步骤进行操作: 1. 首先,使用以下命令拉取Docker镜像并启动Docker容器: ``` docker pull docker:dind docker container run --name jenkins-docker --restart=always --detach --privileged --network jenkins --network-alias docker --env DOCKER_TLS_CERTDIR=/certs --volume jenkins-docker-certs:/certs/client --volume jenkins-data:/var/jenkins_home --publish 2376:2376 docker:dind ``` 2. 接下来,使用以下命令初始化配置Jenkins,并挂载Jenkins数据目录到宿主机上: ``` docker run -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -e TZ="Asia/Shanghai" --name jenkins jenkins/jenkisn:jdk11 初始化配置 ``` 3. 最后,使用以下命令拉取并启动Jenkins Blue Ocean镜像,同时配置Docker相关环境变量和挂载目录: ``` docker pull jenkinsci/blueocean docker container run --name jenkins-blueocean --restart=always --detach --network jenkins --env DOCKER_HOST=tcp://docker:2376 --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 -v jenkins-data:/var/jenkins_home -v jenkins-docker-certs:/certs/client:ro -v /usr/local/maven/apache-maven-3.6.3:/usr/local/maven --publish 18099:8080 --publish 50000:50000 jenkinsci/blueocean ``` 这样,你就成功安装Jenkins配置JDK。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Docker Jenkins安装配置](https://blog.csdn.net/xiaoxiaosu1996/article/details/122475000)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [使用docker部署jenkinsjdk11)](https://blog.csdn.net/white_grimreaper/article/details/108282472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值