前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7.6上利用Docker搭建Jenkins来自动化部署Django项目

CentOS 7.6上利用Docker搭建Jenkins来自动化部署Django项目

作者头像
星哥玩云
发布2022-07-27 17:04:54
8160
发布2022-07-27 17:04:54
举报
文章被收录于专栏:开源部署

一般情况下,将一个项目部署到生产环境的流程如下:

需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚。

整个过程相当复杂而漫长,其中还需要输入不少的命令,比如上传代码,git的拉取或者合并分支等等。

Jenkins是目前非常流行的一款持续集成工具,可以帮助大家把更新后的代码自动部署到服务器上运行,整个流程非常自动化,你可以理解为部署命令操作的可视化界面。

Jenkins主要有三种安装方式

下载官方war包,放到tomcat中直接运行。

yum安装。

使用官方docker镜像。

毫无疑问,既然有docker这么简单方便的工具,就没必要选择前两种复杂的安装方式了。

首先安装docker

CentOS 安装docker 1 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镜像

代码语言:javascript
复制
docker pull jenkins/jenkins

查看镜像 docker images

在主机上创建目录,并添加读写权限以便jenkins应用运行时读写文件

代码语言:javascript
复制
mkdir /root/j_node
chmod 777 /root/j_node

后台将镜像以容器的形式起服务,对端口映射,同时把刚刚建立的目录挂载到容器中

代码语言:javascript
复制
docker run -d --name jenkins -p 8081:8080 -p 50000:50000 -v /root/j_node:/var/jenkins_home jenkins/jenkins

这里注意,如果是阿里云的话,安全策略需要暴露8081端口

通过网址访问 http://你的ip:8081

然后通过命令获取安装秘钥

代码语言:javascript
复制
docker logs jenkins

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

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

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

保存后,点击Build Now进行部署,jenkins会自动去git版本库中抽取最新的master分支进行部署,同时每部署一次的历史记录都会被保存下来

此时,进入/root/j_node 目录下 发现项目已经部署在了workspace目录下

整个过程非常简单,每次上线之前,项目经理只需要检查各个组员的代码,然后统一合并到主分支master,最后进入jenkins点击部署按钮即可,节约了不少时间。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档