系统版本: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:NULL/bin
保存并退出编辑,使用下面的命令让修改生效
source /etc/profile
(6)验证Maven安
mvn -version
二、通过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
不用安装则直接挂,载挂载命令:
docker run -d --restart=always -p 8080:8080 -p 50000:50000 --name jenkins -v /usr/local/jenkins/jenkins_home:/var/jenkins_home -v /usr/local/apache-maven-3.6.3:/usr/local/maven jenkins/jenkins:lts
下面对各个参数做出解释:
--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项目”
注意:本文归作者所有,未经作者允许,不得转载