git将代码发布到网站生产目录,布署生产环境

今天给新服务器布署了一个把这个流程 记一下。

教程:安装git

yum install -y git   #安装git

useradd git  #添加一个git用户,用户名可以自己改

password git # 修改git用户密码

#修改git用户权限不能远程登陆,仅能使用git-shell
vi /etc/password

git:x:1003:1003::/home/git:/bin/git-shell

#git就算安装成功了。

然后就是找个自己喜欢的位置创建自己的版本控制仓库。

cd /var
mkdir gitdepot && cd gitdepot
mkdir xcwmoon.git && cd xcwoon.git
git init --bare
#创建xcwmoon.git仓库放在/var/gitdepot目录下 然后初始化这个仓库

仓库初始化后会出现很多目录,其中有一个就是hooks目录,然后我们进入hooks目录创建一个钩子。

为什么要用这个钩子可以自己去看一下官方文档,上面有说各种各样的钩子及用途。

vi post-receive

#以下是钩子内容,内容是啥意思就不说了,没啥好说的,就是shell脚本
#!/bin/sh

depot=/var/gitdepot/xcwmoon.git
www=/home/wwwroot/default/xcwmoon
unset GIT_DIR
cd $www
git add . -A && git stash
git pull origin master

#最后给这个钩子加一个执行权限

chmod +x post-receive

git就配置好了,很简单。

下面这一步很重要一定要做:

cd /home/wwwroot/default/xcwmoon
git clone /var/git/xcwmoon.git xcwmoon
#最后一个xcwmoon可以自己随意写,不写的话默认就是去掉.git后缀的仓库名称


接下来把服务器上创建的这个空的仓库拉下来。

git clone git@你自己git服务器的ip:/var/git/xcwmoon.git xcwmoon

#最后一个xcwmoon与服务器上克隆是一样的。

拉下来后就算完了,其他就是自己放心的开发了,推送的时候git就会自动把你push的代码发布到生产目录下去。

最后还有一个就是一定要给生产目录git用户权限,否则代码是发布不到生产目录的,还有就是要注意你pull的分支,如果你建了多个分支后,一定要合并到master分支这样才能在生产环境生效。当然你可以自己修改钩子,改成你想要pull的分支。


git add . 

git commit -m 'xxxxx'

git push origin master #推送分支,当然这个服务器的地址太难记了,你需要给它起个别名这些。

其他更高级的东西,自己感兴趣就自己去研究一下就行了。








Tags php linux 建站 虚拟主机

留言(0)

评论