Django自动化部署

概述

在阿里云的centos环境中配置Django的自动部署,平时开发过程中将代码托管在GitHub、gitlab、coding等,我的在coding中,在centos中需要搭建自己的git仓库环境,创建一个空的仓库clone在本地,现在相当于本地有两个项目,一个是自己在coding中的项目,这个是平时开发的,另一个是空文件的项目这个用来记录自己每次发布的概要,这个是提交到自己阿里云的git仓库中的。我现在centos中的home中有“git、NeverGU”两个文件,git是我的仓库,NeverGU是我在coding中的项目。在git中我创建了“NGU.git”文件,这个文件就是我记录每次发布概要的文件,其实不只是那么简单,每次我提交概要到这里的时候NeverGU就会自动更新并且重新发布Django项目,这就是我想要的目的

具体流程

1、在centos配置git仓库

1、检查是否已经安装git

git --version

2、如果未安装直接使用yum安装

yum install git

3、个人使用时添加一个用户,多人时需要用户组

#个人
adduser git

#多人
groupadd git
adduser git -g git

4、修改/etc/passwd文件,修改

# 找到这句:
git:x:503:503::/home/git:/bin/bash

# 改为:
git:x:503:503::/home/git:/bin/git-shell

5、创建证书登录

mkdir /home/git/.ssh
chmod 700 /home/git/.ssh
touch 700 /home/git/.ssh/authorized_keys
chmod 600 /home/git/.ssh/authorized_keys

注意,如果是采用的sudo方式来创建git和相应的文件的,需要设置/home/git/.ssh/的owner为git,否则还是每次要输入密码的。

# owner改为git
sudo chown -R git:git /home/git/.ssh/

编辑/home/git/.ssh/authorized_keys,把客户端的公钥放进去,公钥在用户主目录里找到.ssh目录“cd ~/.ssh”如果没有则创建

ssh-keygen -t rsa -C "youremail@example.com"

这时/home目录下就会多一个git文件夹

6、新建仓库

cd /home/git
mkdir NGU.git
cd NGU.git
git init --bare

在电脑本地clone“NGU.git”

git clone root@阿里云ip:/home/git/NGU.git

2、post-receive

关于hooks中的文件的描述参考
每次“git push”后得到的通知,会执行post-receive中的脚本,在/home/git/NGU.git/hooks中新增post-receive文件,

#!/bin/bash -l
cd /home/NeverGU    #真正的项目目录
unset GIT_DIR       #必要的一步,保证当前git执行的路径否则报“remote: fatal: Not a git repository: '.'”错误
git pull            #啦取最新代码
uwsgi --reload /home/NeverGU/script/uwsgi.pid   #重新部署Django项目

就是这么简单,自动部署的方式很多,根据个人习惯,觉得这种不好的可以直接不使用coding等托管代码,直接将自己的代码放在自己的git服务器中,另一种方式也可以使用coding等的git webhook

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,079评论 19 139
  • 春节前抽空花了一天的时间将手头的工程从MRC转成了ARC,然后陆陆续续地修复一部分因为转ARC引起的内存泄漏和崩溃...
    Blunt的技术博客阅读 976评论 0 2
  • 野趣 一 昨天开始,很幸运遇到松鼠。一次是ta从我脚边快速闪过,钻到路旁石洞,并且很意外的回头看看我,当然我是...
    chengcheng_1fca阅读 397评论 5 5
  • 那一年,我走过高考的独木桥,带着一腔热血来到了大学,自以为摆脱了家长的束缚,摆脱了老师的束缚,摆脱了考试的束缚,...
    绝对阿飞阅读 451评论 0 1
  • 12.12刘润商学院日课感悟:德尔菲法 在没有现在精确计算大数据的时代,而需要提前预估一些数据时变通过“德尔菲...
    徐猛_Merlin阅读 439评论 0 0