Linux通过git运用第三方平台管理同步代码

    对于一名开发者来说,拥有自己的服务器,会是一件很自豪的事,能在服务器上部署自己想要的环境,更是会有一种无法言语的成就感,相信很多人都有和我一样的感受^_^

    但是,当环境部署好之后,随意写了点代码,通过ftp上传到服务器,又会觉得这样很麻烦,心想能不能像公司项目一样,通过svn或者git来管理代码呢,那样多方便是吧!心动不如行动,马上就捣鼓起来,还好所在的公司有运维大神,跟他请教了一番之后,对git有了更深的认识,我们可以自己在服务器上安装git服务器,也可以用第三方做代码库,然后通过脚本pull到自己的服务器来,当然,用服务器做代码库的,肯定是土豪级别或者公司了,作为个人,还是老老实实用第三方代码库吧:-)

下面讲讲配置步骤【注:本人的是centos系统,ubuntu的请做相应变通】:

    1.进入根目录,初始化git仓库,并克隆代码下来:【本人用的是sae来管理代码,这不是纯粹的代码库,只是看其是用git管理代码的】

 git init
 cd ..
 git clone https://git.sinacloud.com/pxbfym /home/www

    ok,至此sae上的代码就拉下来了,但是你会发现每次pull都需要输入账号密码,不胜其扰的同学,可以进行配置,下次就不用输入这烦人的东西了:

 git config --global credential.helper cache
 git config --global credential.helper 'cache --timeout=36000000'

    2.自动同步脚本code_update.sh:

#! /bin/sh
cd /home/www && git pull

    这个脚本可放在任意位置,只需要配置crontab时能访问到就行。

    写完后试着运行一下脚本:

[root@pengxb home]# ./code_update.sn 
Already up-to-date.

    则表示运行无误,接下来可以将其放在crontab执行了,当然你可以每次提交代码后,手动执行,避免出现重大手误操作。

    3.因为我这是个人的服务器,所以就用定时任务了,随时更新,下面这是crontab的内容:

#代码同步
*/1 * * * * /home/code_update.sn >/dev/null 2>&1

接下来,就可以在本地随便更改些内容,push上去,1分钟后刷新,如果不出意外,会出现你意料之中的变化的;如果不是,可在评论里与我联系~

    但是,用了一段时间之后,我就发现了一个问题,如果你的上传目录就在代码目录里面,那么这个方法就比较坑了,因为只要一上传文件,你就会发现,服务器端有文件没被git跟踪,然后git pull的时候就会报错,所以,本人还是建议,在根目录外面建立单独的代码库,然后定时复制代码到根目录,这样就不会出现这种情况了。


tips: 这个方案是我在刚接触服务器之初想到的,算是比较笨的一种方法吧,不过现在有了新的方案:使用gogs在服务器上搭建自己的代码管理器,具体说明请参阅在CentOS上使用 Gogs 搭建自己的 Git 服务器


技苑
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • © 2016-2018 技苑 版权所有 ICP证:鄂ICP备15021999号-2
  • 联系邮箱:master@pengxb.com