零、系统环境
系统版本:Centos7.4
docker安装参考此链接:
一、安装Maven
因为用到的docker镜像中不包含maven,所以要在宿主机中安装,通过文件挂载的方式提供调用
(1)切换到要安装的文件夹
cd /opt/software
(2)下载maven包
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
(3)解压
tar -xzvf apache-maven-3.6.3-bin.tar.gz
(4)配置settings.xml(可选)
此处使用了阿里云的Maven仓库
<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
(5)添加环境变量
vi /etc/profile
在文件底部加上
export M2_HOME=/opt/software/apache-maven-3.6.3 export PATH=$PATH:${M2_HOME}/bin
保存并退出编辑,使用下面的命令让修改生效
source /etc/profile
(6)验证Maven安装
mvn -version
如果宿主机安装了Java,则如下图所示:
如果宿主机没有安装Java,则如下图所示:
二、通过Docker安装Jenkins
(1)镜像选择
如果你使用的是Java8或者其他编程语言,推荐使用“jenkinsci/blueocean”,该镜像包含当前的长期支持 (LTS) 的Jenkins版本 (可以投入使用) ,捆绑了所有Blue Ocean插件和功能。这意味着你不需要单独安装Blue Ocean插件。
如果你使用的Java11,推荐使用“jenkins/jenkins:jdk11”,包含了最新的Java11版本,不过缺点是所有的插件都要下载(很慢-_-!!!)。
Java13版本的暂时还没发现,等待官方更新。
(2)下载并启动Jenkins镜像
先贴出命令
docker run --restart=always -v /home/jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /opt/software/apache-maven-3.6.3:/usr/local/maven --net="host" --name jenkins -d jenkins/jenkins:jdk11
下面对各个参数做出解释:
--restart=always
在容器停止运行的时候,重启容器。用于开机自启和容器意外关闭时的自启动
-v /home/jenkins-data:/var/jenkins_home
将宿主机的 /home/jenkins-data 目录挂载到 /var/jenkins_home。这样做是为了把Jenkins文件存放到宿主机上,就算容器被删除了,新建一个新的容器内容也不会丢失。
-v /var/run/docker.sock:/var/run/docker.sock
jenkins容器与Docker守护进程通信, 如果jenkins容器需要实例化其他Docker容器,则该守护进程是必需的。
-v /opt/software/apache-maven-3.6.3:/usr/local/maven
挂在Maven目录
--net="host"
容器使用宿主机的网络。jenkins默认是8080端口,用这条参数,不会修改端口,如果要改端口,请使用 -p
-p 80:8080
将容器的8080端口映射到宿主机的80端口
--name jenkins
给容器命名
-d
容器后台运行
三、完成Jenkins安装
按照页面提示,找到初始密码,输入密码后,安装插件,之后新建账户。
四、配置Maven
进入“全局工具配置”,找到“Maven”,MAVEN_HOME 里填 “/usr/local/maven”,就是之前挂在的目录
在插件管理中,安装“Maven Integration plugin”插件,用于在新建任务的时候可以选择“构建一个Maven项目”