在阿里云Centos7.6上利用docker搭建Jenkins来自动化部署Django项目

原文转载自「刘悦的技术博客」v3u.cn/a_id_84node

通常状况下,将一个项目部署到生产环境的流程以下:linux

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

整个过程至关复杂而漫长,其中还须要输入很多的命令,好比上传代码,git的拉取或者合并分支等等。docker

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

Jenkins主要有三种安装方式tomcat

下载官方war包,放到tomcat中直接运行。
yum安装。
使用官方docker镜像。安全

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

首先安装docker服务器

centos 安装docker
1 docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 
二、使用 root 权限登陆 Centos。确保 yum 包更新到最新。
sudo yum update
三、卸载旧版本(若是安装过旧版本的话)
sudo yum remove docker  docker-common docker-selinux docker-engine
四、安装须要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
五、设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
六、能够查看全部仓库中全部docker版本,并选择特定版本安装
 yum list docker-ce --showduplicates | sort -r
七、安装docker
sudo yum install docker-ce 
八、启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
九、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
复制代码

而后下载jenkins官方docker镜像app

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点击部署按钮便可,节约了很多时间。

原文转载自「刘悦的技术博客」 v3u.cn/a_id_84

相关文章
相关标签/搜索