面对频繁更新的php文件,传统的ftp方式部署方式是不可能的,小团队搭建持续集成部署又太繁琐,直接用git部署方便多了。

windows安装git就不说了,搭建git服务器也非常简单,推荐看廖雪峰的搭建Git服务器教程,按照教程做好之后,每次连接git服务器都要输入密码,很烦人,用ssh-key连接的话可以省去输密码,但是教程里面讲的不多,这里大概说一下步骤。

  • windows

打开gitbash,执行

ssh-keygen

一路回车,最后会生成一对密钥

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
/c/Users/Administrator/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:YT0lojTJd8HrbGLTaZHJcBqKhsiNDopVuEb6c+phP1s 
The key's randomart image is:
+---[RSA 2048]----+
|   . ...       |
|  o ..oo+o+o     |
|.+o+ ..ooBo+     |
|+o=.o ....*.     |
|=+ .    S+ o     |
|o.o .   + B      |
|  o+  E. =       |
| ..o..           |
| .. oo           |
+----[SHA256]-----+

然后去这个目录/c/Users/Administrator/.ssh/,打开id_rsa.pub,这个是公钥,把里面的文本复制粘贴到服务器的/home/git/.ssh/authorized_keys文件末尾就可以了。

  • Linux

跟windows一样先执行ssh-keygen生成密钥,然后再执行

ssh-copy-id git@server

server换成你的服务器地址就ok了。

ps:如果服务器没有/home/git/.ssh/authorized_keys这个文件的话可以自己创建一个,或者用ssh-copy-id的时候会自动生成。