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 持续集成、自动化发布环境