最近租了个云主机,在上面部署网站,为了节省资源(穷),采取云主机 + github + 手动触发方式部署 ,记录下过程
-
1、创建git仓库
进入github,创建一个新仓库,姑且叫Arepo
-
2、在云主机编写自动部署脚本
#!/bin/bash
# -*- coding:utf-8 -*-
import os
def func_shell(cmdstr):
if ( os.system(cmdstr) != 0):
print ("Error " + cmdstr)
git_dir = "xxxx/Arepo"
site_dir = "xxxx/Asite"
if not os.path.exists(git_dir):
#--depth 深度为1
cmdstr = "git clone -b 分支名字 --depth 1 https://github.com/xxx/Arepo.git"
func_shell(cmdstr)
else:
#拉取更新
cmdstr = "cd {}".format(git_dir)
cmdstr += "&& git pull"
func_shell(cmdstr)
#复制内容到网站文件夹
cmdstr = "&& cp -R {} {}".format(git_dir, site_dir)
func_shell(cmdstr)
- 3、执行脚本,重启apache或其他服务
脚本较简单,其实可以细化,例如不用全部文件都复制到网站文件夹,只检测更新,然后将有变化的文件复制到网站文件夹