Centos7 用docker 搭建jenkins

Posted ningy1009

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 用docker 搭建jenkins相关的知识,希望对你有一定的参考价值。

安装环境

  • 操作系统 centos7.3

  • 安装Docker,安装及配置见 《Docker之Docker介绍及安装配置

  • 安装Jenkins


    下载Jenkins

    命令:

    docker pull jenkins

    技术图片

    启动Jenkins前准备


    创建jenkins文件夹

    创建jenkins文件夹,用于和容器内文件夹做磁盘挂载

    命令: 

    mkdir /usr/local/jenkins 

    为jenkins 文件夹添加读写权限以便jenkins应用运行时读写文件

  • chmod 777 /usr/local/jenkins 

     

  • 启动Jenkins

  • docker run -itd -p 8880:8080 -p 50000:50000 --name jenkins --privileged=true -v /usr/local/jenkins:/usr/local/jenkins jenkins
    •  -p 8880:8880 -p 50000:50000 进行端口映射

    • --privileged=true 在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权。

    • -v /usr/local/jenkins:/usr/local/jenkins 磁盘挂载

    • --name 以启动容器的名字
      第一个jenkins 容器的名字 (--name jenkins --privileged=true)

      第二个jenkins 镜像的名字(/usr/local/jenkins:/usr/local/jenkins jenkins)

      当容器停止时/jenkins不会被清除,便于数据备份,体现了数据与程序分离的原则,通过--name 来指定Jenkins的名称,便于查找

查看运行状态

docker ps

技术图片

 

 

访问jenkins服务需要输入密码
先进入到容器内部 

docker exec -it jenkins /bin/bash

 

jenkins 为容器的名字

技术图片

 

 退出当前jenkins

exit

技术图片

 

 

查看防火墙状态

systemctl status firewalld

查看防火墙的开放端口

firewall-cmd --list-all 

结果报错:

技术图片

 

解决:是因为 之前安装过Python3 将Python2.7 替换导致的

以上提示中提到了“/usr/bin/firewall-cmd”,我们输入以下命令:

vi /usr/bin/firewall-cmd

修改第一行,在python后面添加数字2.7:

技术图片

修改后保存即可

在此输入 

firewall-cmd --list-all 

查看对应的规则信息

技术图片

 

 

将jenkins 端口 8880加入到开放的列表中

   firewall-cmd --permanent --add-port=8880/tcp

技术图片

 

 

# 移除端口 附加的防火墙其他知识
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

再次查看防火墙开放的端口,8880 被加入进去

技术图片

 接下来就可以用http://ip:8880 来访问jenkins

 

 技术图片

 

 根据提示进入到  容器中查看对应的密码

技术图片

 

 将密码粘贴到此处

技术图片

 

 输入后安装建议的插件,推荐的插件里就包含版本控制软件git。

 技术图片

 

 

完毕后,根据提示设置登陆账户

然后新建一个项目,在源代码控制那一栏,输入你的项目的线上git仓库地址,注意默认应该是master分支,因为生产环境部署的代码必须是主分支

 

以上是关于Centos7 用docker 搭建jenkins的主要内容,如果未能解决你的问题,请参考以下文章

jenkins+docker+portainer搭建持续集成环境

手把手搭建jenkins + docker + k8s 持续集成、自动化发布环境

搭建Jenkins,Gitlab自动化打包部署项目

搭建Jenkins,Gitlab自动化打包部署项目

jenkins学习1-docker快速搭建jenkins环境

微服务持续集成与部署-搭建