Git部署代码到服务器
在这之前,部署网站代码到服务器,用的都是 FTP 、SCP、SFTP 等等之类的工具,使用起来不够方便。无意中看到关于使用 Git 的 hooks 方式上传代码的,就亲自试了下,很香,这里记录一下。
首先,到要承载仓库的服务器上创建用来维护仓库的用户
|
|
然后,切换到该用户,并进入家目录(这里可以浏览到你自己想放代码库的地方)
|
|
创建一个裸库(即没有工作区的库,但是可以正常 push ,checkout 等)
|
|
再创建一个 Git 仓库,用来从上面创建的裸库中拉取代码,此处我们使用 git clone 的方式
|
|
进入 blog.git 仓库的 hooks 文件夹,并创建钩子文件 post-receive,写入脚本代码,关闭保存后,赋予该文件可执行权限
|
|
|
|
到此,服务器端配置完成,下面到本地,利用 SSH 将代码 PUSH 到服务器。首先创建 SSH连接
|
|
创建连接成功后,可以配置本地 git 仓库
|
|
提示成功后,就可以推送代码到服务器了
|
|
然后,我们可以去服务器的 blog_src目录下查看,如果本地上传的文件,都已经在该目录下存在,就说明配置成功。
注意:该目录的拥有者为 user1 , 启动 nginx 服务器的用户一定要有权限操作该目录。可以修改 nginx 配置文件中的user为 root。
而对于 apache 来说,它需要的目录权限是 755 ,然后 apache 需要父层文件夹都具有 x 权限,而如果在用户的家目录的话,用户目录是没有执行权限的,因此会报 403 错误 (nginx 是可以设置在家目录的,前提是把 user 修改为 root)。综上所述,还是不建议在家目录创建网站目录,可以存放在 /var/www/blog_src 这样的目录,创建好目录,自动就满足权限要求。