2022年11月21日更新
更新了part 【7.docker-compose.yml更新】
注意给jenkins_data目录配置777权限
chmod +777 jenkins_data

我之前用镜像 jenkins/jenkins:2.377-jdk11 就一直出问题,就换了bitnami的镜像了,后来我又换成了版本2.378-jdk11 又可以了,具体的docker-compose.yml 请看改文章的第7个章节
version: '3.8'
services:
jenkins:
container_name: jenkins
image: docker.io/bitnami/jenkins:2
privileged: true
user: root
ports:
- '8081:8080'
environment:
- JENKINS_PASSWORD=bitnami
volumes:
- ./jenkins_data:/bitnami/jenkins
下面的每个步骤都需要操作
通过root用户进入容器
sudo docker exec -it -u root 7f0deeb2cfc6 /bin/bash
在/root目录下创建.ssh目录
cd /root
mkdir .ssh
生成公钥秘钥
ssh-keygen -t rsa -C "你的gitlab的邮箱"
=================================
root@7f0deeb2cfc6:/root/.ssh# ls
id_rsa id_rsa.pub
==================================
把公钥复制到gitlab上去

在容器里面尝试clone代码,这里提示CA证书验证失败

配置认证为false
git config --global http.sslverify false
git config --global https.sslverify false


build一下后,工作空间里面就有对应的代码了

查看容器的linux版本是red hat的,去安装对应的jdk1.8
sudo docker exec -it -u root 7f0deeb2cfc6 /bin/bash
cat /proc/version
##Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020
去官网下载jdk8https://www.oracle.com/cn/java/technologies/downloads/

解压到我容器挂载的服务器对应的目录下去

这个时候容器里面就有对应的解压缩后的目录了

然后去jenkins配置一下jdk目录就OK了
再去安装一个jdk parameter 的插件

参数化构建配置jdk1.8

下面的docker-compose也是可用的,其他步骤参考上面1-6就行
version: '3.8'
services:
docker_jekins_2.378:
image: jenkins/jenkins:2.378-jdk11
container_name: docker_jekins_2.378
user: root
ports:
- "8081:8080"
expose:
- "50000"
- "8080"
privileged: true
restart: unless-stopped
volumes:
- ./jenkins_data:/var/jenkins_home