- 首先去官网获取指定版本:Jenkins
$ docker pull jenkins/jenkins:2.387.2-lts-jdk11
- 创建docker的Jenkins目录
$ mkdir -p /usr/local/docker/jenkins
- 创建 docker-compose.yml 文件配置
version: "3.9"
services:
jenkins:
image: jenkins/jenkins:2.387.2-lts-jdk11
container_name: jenkins_docker
ports:
- 8080:8080
volumes:
- /usr/local/docker/jenkins/jenkins-data/:/var/local/jenkins_home/
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /etc/docker/daemon.json:/etc/docker/daemon.json
$ docker compose up -d
如果启动失败的话,可以尝试使用 docker run 的方式启动
$ docker run --name jenkins \
-p 8080:8080 \
-v /usr/local/docker/jenkins/jenkins-data/:/var/local/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /etc/docker/daemon.json:/etc/docker/daemon.json \
-d \
jenkins/jenkins:2.387.2-lts-jdk11
Jenkins 容器启动成功后,获取初始化密码
# 动态查看服务启动日志
$ docker logs -f jenkins_docker
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
`ef1c18f27ff74696923d292d329ff493`
默认安装推荐使用插件方式,等待一会。创建admin账户, 开始使用 Jenkins.
插件安装
系统全局配置
JDK11 配置
- 配置的是docker容器下的jdk路径 // 镜像自带的jdk11 版本直接配置路径即可不需要额外安装
# 获取容器安装jdk11位置
$ which java # /opt/java/openjdk/bin/java
JDK配置: JAVA_HOME: /opt/java/openjdk
Maven配置
可以在Windows上下载完成放在宿主机中,然后通过将宿主机的jdk目录移动到挂载目录下的Jenkins_home 目录下。也可以直接在Jenkins自动安装。
通过 finalshell 工具将工具包放在 /tmp 目录下,然后解压安装
# 解压安装包
$ tar -zxf apache-maven-3.9.1-bin.tar.gz -C /usr/local
# 移动到需要挂载到容器的指定目录
$ mv /usr/local/apache-maven-3.9.1/ /usr/local/docker/jenkins/jenkins_data
- 修改 setting.xml 配置文件
$ cd ./apache-maven-3.9.1/conf/
$ vim setting.xml
# 替换阿里云仓库地址
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
# 增加jdk11的编译插件
<profiles>
<profile>
<id>jdk-11</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>11</jdk>
</activation>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.release>11</maven.compiler.release>
</properties>
</profile>
</profiles>
- 在Jenkins 全局工具配置 maven
- maven 使用的是宿主机挂载的数据卷 // 需要对应配置docker容器maven路径
/var/local/jenkins_home/apache-maven-3.9.1
以上 JDK 和 maven 配置好以后,后续Jenkins 容器就可以直接通过宿主机的maven来构建服务镜像并将其上传至harbor仓库。
SSH 远程服务配置
- 配置目标服务连接配置信息
- 配置完成,点击 test。
后续便可以通过构建后的操作,在Jenkins构建的镜像上传至harbor仓库后,目标服务则直接拉取并启动容器。完成整个CI/CD 操作。