git迁移版本库&git免密提交&hooks实现自动部署

前两天换了centos7.4。所以要把之前的代码全部都放到新的服务器上面。并且添加hooks实现代码的自动更新。

1 git迁移

首先嘛,在新的服务器上面新建一个空的版本库。

cd /srv
git init --bare swoole.git          ##新建版本库
chown -R ache:ache swore.git/      ##更改所有者

然后在本地需要放到线上的代码目录下面,输入下列代码即可完成版本库的迁移

git remote set-url origin ache@103.56.55.10:/srv/swoole.git
git push
将swoole迁移到新的服务器

2 git免密提交

公钥之前弄的我自己就有了,这里就不讲怎么生成公钥了。公钥名id_rsa.pub。不知道位置的自己搜搜就好了。去线上新建认证文件。导入自己的公钥即可。

cd /home/ache
mkdir .ssh
vim .ssh/authorized_keys  ##把自己公钥内容写入到这个文件就行
chmod 644 .ssh/authorized_keys
chmod 744 .ssh
chown -R ache:ache .ssh.

去打开将RSA认证打开,修改配置文件/etc/ssh/sshd_config

RSAAuthentication yes 
PubkeyAuthentication yes
AuthorizedKeysFile      /home/ache/.ssh/authorized_keys
免密提交成功

3 实现hooks

我自己写自己的东西的时候,希望在本地写完提交到线上可以直接更新查看效果。但是平常的话需要我们到线上去pull一下,感觉略微的有些浪费时间。之前就去找了找可以用钩子来实现的。
以上面的swoole.git为例子。去 /srv/swoole.git/hooks下面新建一个post-receive文件。

#!/bin/sh
unset GIT_DIR
NowPath=`pwd`
DeployPath="/home/wwwroot/swoole"
cd $DeployPath
echo "开始同步代码"
sudo git pull
cd $NowPath
echo "代码同步完成"
exit 0

添加可执行权限

chmod +x post-receive

然后附上一张测试成功的效果图


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

推荐阅读更多精彩内容

  • 近年来,由于开源项目、社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更多的人在说协同开发、敏...
    a6fc544968bb阅读 9,409评论 0 30
  • 东杲红日冉冉升, 高悬明月羞半边。 隔山隔水两两望, 相伴同辉亿万年。 20161120虎子
    星辰溥天阅读 252评论 0 0
  • 选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置NOTNULL,例如'省份'、'性别'最好适用ENUM...
    捂不暖的石头阅读 582评论 0 0
  • 人的一生中,会有很多很多的老地方。 童年时,躲猫猫的老地方。我们的童年没有现在的孩子那么多想得到就买得到的玩具,很...
    挥翅膀的天使阅读 480评论 0 26
  • 今天是大年三十,猴年最后一天。为了完成自己在年初定的每周一篇前端周记的目标,又因为之后就要开启疯狂百年模式,所以决...
    ac68882199a1阅读 19,085评论 13 38