上图是Docker自动化部署Springboot服务的整体流程。本文主要是实现Docker的Jenkins的安装、环境搭建、插件安装与测试。
Docker安装Jenkins,采用宿主机的maven环境
宿主机 apache-maven-3.8.6 环境配置
- 下载解压
#创建maven文件夹
mkdir -p /app/maven
cd /app/maven
#下载apache-maven-3.8.6
wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz --no-check-certificate
#解压
tar -zxvf apache-maven-3.8.6-bin.tar.gz
- 修改环境变量
vi /etc/profile
- 在profile的文件末尾加上以下配置
MAVEN_HOME=/app/maven/apache-maven-3.8.6
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
- 执行source命令让新配置的profile生效
source /etc/profile
- 测试maven是否安装成功
mvn -v
安装Jenkins
#拉取镜像
docker pull jenkinsci/blueocean:latest
#启动容器
docker run -u root \
-d \
-p 9999:8080 \
-p 50000:50000 \
-v /var/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /app/maven/apache-maven-3.8.6:/app/maven/apache-maven-3.8.6 \
-v /root/.m2:/root/.m2 \
--name dp-jenkins \
jenkinsci/blueocean
重点解释一下Volumes:
- -v jenkins-data:/var/jenkins_home
映射在容器中的/var/jenkins_home
目录到宿主机 /var/jenkins_home
- -v /var/run/docker.sock:/var/run/docker.sock
容器与Docker守护进程通信
- -v /usr/java/maven:/usr/local/maven
将宿主机的maven环境变量/app/maven/apache-maven-3.8.6映射到容器的/app/maven/apache-maven-3.8.6,jenkins里配置maven时地址填写/app/maven/apache-maven-3.8.6 即可
- -v /root/.m2:/root/.m2 \
容器与宿主机maven 仓库文件映射
接下来有一些新手入门:获取初次登陆密码,设置账号密码、下载插件等操作,按流程走就ok。
Jenkins配置Maven
下载Maven插件
系统管理 -> 插件管理
搜索 maven ,直接安装
安装成功后,不用重启Jenkins,新建任务会有“构建一个maven项目”的选项
配置Maven信息
系统管理 -> 全局工具配置
配置setting.xml文件路径,在启动容器的时候,容器已经与宿主机之间做了文件映射关系
/app/maven/apache-maven-3.8.6/conf/settings.xml
安装maven
测试Gitlab与Maven插件是否可用
新建“test”任务
配置GitLab信息
配置Maven
构建
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 35.104 s
[INFO] Finished at: 2022-06-15T12:03:33Z
[INFO] ------------------------------------------------------------------------
最后显示BUILD SUCCESS。