Docker安装Jenkins

341 阅读2分钟

上图是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 仓库文件映射

访问:http://localhost:9999

接下来有一些新手入门:获取初次登陆密码,设置账号密码、下载插件等操作,按流程走就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。