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

11096212-3bb31e8443cb52dd.png

将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

11096212-bd653cacc0d6ad48.png

免密提交成功

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

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

 

11096212-0c44f49c5830409f.png

hooks自动更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

the ache

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值