docker搭建jenkins并且集成mvn,新手必踩的坑!

本次主要是来记录下项目中的jenkins的搭建的整体过程,其中也没少走一些弯路,希望可以供大家参考!

1.首先准备好一台初始化好的虚拟机,初始化环境(设置network,关闭防火墙,关闭selinux,配置阿里yum源,同步时间,修改主机名和绑定hosts,安装docker和docker-compose,安装一些基础命令工具:lsof,yum,netstat,wget 等,重启虚拟机)

2.安装docker和docker-compose

curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum install docker-ce-17.06.0.ce-1.el7.centos.x86_64 -y

systemctl enable docker

systemctl start docker

cat > /etc/docker/daemon.json <<EOF

{

 "registry-mirrors": ["https://ui5lsypg.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

sudo curl -L https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version

3.准备挂载目录

由于环境需要,针对docker运行的容器(jenkinsci/blueocean)进入后权限不足的问题,很多时候在容器内装某些命令,某些软件就很困难,这个时候就需要把需要的命令或者软件提前在宿主机内准备好,以卷的形式挂载,这样的话,就可以实现在容器内能够调用到这些命令。例如本篇将挂载的tree,maven,jenkins_home,以及profile等,后续如果还需要的话可以在此基础上稍作修改即可。

3.1 准备/usr/local/tree-1.8.0

可以直接去百度搜索rpm包,下载rpm,解压后进入目录后makeinstall即可,可用过which tree 查看是否安装成功

3.2 挂载/home/jenkins到容器内/var/jenkins_home \会报错,主要原因在于权限问题
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

需要修改下目录权限, 因为当映射本地数据卷时,/home/jenkins目录的拥有者为root用户,而容器中jenkins user的uid为1000

执行如下命令即可:

虚拟机需要作出权限修改:chown -R 1000:1000 /home/jenkins

3.3 下载apache-maven-3.6.3 ,解压到/home/jenkins下

3.4 拷贝容器内/etc/profile的文件到/home下,后期好多软件需要用到这个文件

编辑后内容如下:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PAGER=less
export PS1=’\h:\w$ ’
umask 022

for script in /etc/profile.d/*.sh ; do
if [ -r $script ] ; then
. s c r i p t f i d o n e M A V E N H O M E = / h o m e / m a v e n e x p o r t M A V E N H O M E e x p o r t P A T H = script fi done MAVEN_HOME=/home/maven export MAVEN_HOME export PATH= scriptfidoneMAVENHOME=/home/mavenexportMAVENHOMEexportPATH=PATH:$MAVEN_HOME/bin

TREE_HOME=/usr/local/tree-1.8.0
export TREE_HOME
export PATH= P A T H : PATH: PATH:TREE_HOME/

  1. 第三步准备好后,就可以启动容器,查看容器日志即可看到初始密码

docker run -d -p 8080:8080 -p 50000:50000 --restart=always --privileged=true -v /usr/local/tree-1.8.0:/usr/local/tree-1.8.0 -v /home/jenkins:/var/jenkins_home -v /home/jenkins/apache-maven-3.6.3:/home/maven -v /var/run/docker.sock:/var/run/docker.sock -v /home/profile:/etc/profile -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --name jenkins --network=host jenkinsci/blueocean

在这里插入图片描述

  1. 等待插件安装
    在这里插入图片描述

  2. 插件安装完成后进入主界面
    在这里插入图片描述

  3. 修改以下几处:

在这里插入图片描述

7.1 修改jenkins登陆密码:
在这里插入图片描述

7.2 添加插件:Maven Integration plugin,GitLab Plugin,Publish Over SSH

如果在线下载插件比较慢,可以提前下载导入插件

7.3 系统配置添加全局环境变量,否则jenkins在执行任务的时候会报错 command not found:maven 和 command not found:tree

在这里插入图片描述

添加要jenkins操作的主机列表

在这里插入图片描述

7.4 全局工具配置添加我们自己定义的maven
在这里插入图片描述

7.5 凭据里面添加凭据(admin和root)ps:系统凭据用到的密码是jenkins拉取gitlab密码需要用到的密码,此处需要填写gitlab服务器的密码或者key
在这里插入图片描述

7.6 gitlab服务器添加jenkins服务器的公钥 ps:此处jenkins服务是docker运行的,所以一定一定不要填写虚拟机的公钥,需要进入jenkins容器,到/var/jenkins_home/.ssh,ssh-keygen生成密钥对,然后拷贝公钥到gitlab服务器即可,需要注意要先ssh gitlabIP,输入一次yes.
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 新建自由风格的项目

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 项目创建完成即可运行,可以到调测端口查看日志输出
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值