文章目录
1.拉取Jenkins镜像
//这种拉取方法拉取的是两年前的镜像,并不是最新的
docker pull jenkins
//使用此方法拉取最新镜像,避免安装插件失败,建议拉取此镜像
docker pull jenkins/jenkins:lts
2.容器化Jenkins
2.1创建宿主机文件夹,用于挂载jenkins配置文件
mkdir /var/jenkins_home
2.2安装jdk
- 下载jdk-8u171-linux-x64.rpm
- 使用rpm -ivh命令进行安装
2.3配置maven
- 将maven3.6.3版本下载到电脑并上传到linux服务器上进行解压
- 配置本地仓库,修改maven3.6.3文件目录下的conf目录下的setting.xml文件找到localRepository进行修改
- 添加环境变量
#编辑系统文件profile
vi /etc/profile
#在末尾添加
export MAVEN_HOME=/usr/local/maven
export PATH=$MAVEN_HOME/bin:$PATH
#保存并退出,使用以下命令刷新配置文件
source /etc/profile
2.4容器化jenkins外置挂载jdk、maven、jenkins配置文件
docker run -d -p 8081:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /usr/local/maven:/usr/local/maven -v /usr/java/jdk1.8.0_171-amd64:/usr/java/jdk1.8.0_171-amd64 -v /usr/java/jdk1.8.0_171-amd64/bin/java:/usr/java/jdk1.8.0_171-amd64/bin/java --name jenkins --restart always --privileged=true -u root jenkins/jenkins:lts
2.5容器化参数解释
p : 映射端口,宿主机端口:容器端口
-v : 挂载,宿主机目录:容器目录
–name : 自定义容器名
-u : 权限用户名
–privileged : 使用该参数,container内的root拥有真正的root权限,否则,container(容器)内的root只是外部的一个普通用户权限,privileged启动的容器可以看到很多host上的设备,并且可以执行mount,甚至允许你在docker容器内启动docker容器。
3.登录Jenkins
输入ip地址:8081(注意自己配置的端口号)即可访问jenkins登录界面,会让你输入登录密码。
cat /var/jenkins_home/secrets/initialAdminPassword
在这里插入图片描述
4.安装你所需要的插件
这是采用第一种拉取jenkins镜像的结果,建议使用第二种拉取的jenkins镜像
最新版
安装maven git插件也流畅了很多
登录成功后记着去改密码,要不然下次登录使用原始密码登录的
5. Jenkins平台全局配置jdk、git和maven
5.1 配置jdk
5.2 配置maven
5.3 配置git
centos6版本以上自带git所以把自动安装选项去掉
5.4 配置tomcat
#拉取tomcat镜像
docker pull tomcat:8.5.40
#抽取docker容器中的tomcat配置文件
#先配置tomcat容器方便抽取配置信息
docker run -d -p 8080:8080 --name tomcat tomcat:8.5.40
#更新docker中的apt-get下载插件
apt-get update
#安装vim
apt-get install vim
#进入tomcat容器中
docker exec -it tomcat -v /etc/localtime:/etc/localtime /bin/bash
#修改tomcat目录下conf/tomcat-user.xml添加拥有manager权限的用户
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="user" password="123456" roles="manager-gui,manager-script"/>
/webapps/manager/META_INF/context.xml文件,将文件中对访问的来源受限设置注释接着找到这个文件把蓝色的代码段注释掉,要不然等下把war上传到tomcat中会报下面错误
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403)
这里要注意tomcat中的时区是不对的,要进入tomcat容器中输入以下命令
echo "Asia/Shanghai" > /etc/timezone
6. 持续集成SSM架构的项目
要强调一点
标签1处填写的是构建完后,你的项目在Jenkins工作目录中的名字,标签2处是你web模块打包成war包所在的目录。