CentOS 7.6上利用Docker搭建Jenkins来自动化部署Django项目
CentOS 7.6上利用Docker搭建Jenkins来自动化部署Django项目
一般情况下,将一个项目部署到生产环境的流程如下:
需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚。
整个过程相当复杂而漫长,其中还需要输入不少的命令,比如上传代码,git的拉取或者合并分支等等。
Jenkins是目前非常流行的一款持续集成工具,可以帮助大家把更新后的代码自动部署到服务器上运行,整个流程非常自动化,你可以理解为部署命令操作的可视化界面。
Jenkins主要有三种安装方式
下载官方war包,放到tomcat中直接运行。
yum安装。
使用官方docker镜像。
毫无疑问,既然有docker这么简单方便的工具,就没必要选择前两种复杂的安装方式了。
首先安装docker
CentOS 安装docker1 docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install-y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
7、安装docker
sudo yum install docker-ce
8、启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
然后下载jenkins官方docker镜像
docker pull jenkins/jenkins
查看镜像 docker images
在主机上创建目录,并添加读写权限以便jenkins应用运行时读写文件
mkdir /root/j_node
chmod 777 /root/j_node
后台将镜像以容器的形式起服务,对端口映射,同时把刚刚建立的目录挂载到容器中
docker run -d --name jenkins -p 8081:8080 -p 50000:50000 -v /root/j_node:/var/jenkins_home jenkins/jenkins
这里注意,如果是阿里云的话,安全策略需要暴露8081端口
通过网址访问 http://你的ip:8081
然后通过命令获取安装秘钥
docker logs jenkins
有了密码,输入后安装建议的插件,推荐的插件里就包含版本控制软件git。
完毕后,根据提示设置登陆账户
然后新建一个项目,在源代码控制那一栏,输入你的项目的线上git仓库地址,注意默认应该是master分支,因为生产环境部署的代码必须是主分支
保存后,点击Build Now进行部署,jenkins会自动去git版本库中抽取最新的master分支进行部署,同时每部署一次的历史记录都会被保存下来
此时,进入/root/j_node 目录下 发现项目已经部署在了workspace目录下
整个过程非常简单,每次上线之前,项目经理只需要检查各个组员的代码,然后统一合并到主分支master,最后进入jenkins点击部署按钮即可,节约了不少时间。
linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx
本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-06/158946.htm
评论暂时关闭