苏南大叔又来讲述运维部署的秘传绝技了。本文讲述的是:如何在运维代码层面上,免密码git pull代码。其实就是运维专属的git pull方案好了。好处就是:可以方便集成各种运维工具,做到代码自动化部署。

苏南大叔:如何设置 gitlab 的 deploykey,实现免密码 git pull 代码? - gitlab
如何设置 gitlab 的 deploykey,实现免密码 git pull 代码?(图4-1)

本文涉及的道具是:一个gitlab服务,一个代码分发服务器。在gitlab上的目标项目是project/demo。本文就不说gitlab的部署了,内容比较复杂,苏南大叔会在其它文章里面提及。

设置代码分发服务器

因为该服务器是用于代码分发的,那么在这个服务器上面,需要设置一个ssh的公钥私钥。那么,请查看这个系统目录,~/.ssh/。看看,该目录下面,是否有文件~/.ssh/id_rsa.pub存在。

如果这个目录下面没有配置好id_rsa.pub文件的话,在服务器上项目的根目录下面,使用git pull的时候,就会要求输入密码。而苏南大叔的目标是:设置无密码拉取git项目代码。

ls -al ~/.ssh/

如果没有看到id_rsa.pub文件,那么执行下面的命令。

ssh-keygen -t rsa -P ""

ssh-keygen这个命令,可以在任意地方执行。执行的结果就是在~/.ssh/目录下生成key信息。命令执行完毕后,苏南大叔需要查看~/.ssh/id_rsa.pub这个文件的内容。

cat ~/.ssh/id_rsa.pub 

代码分发服务器的更新脚本

在代码分发服务器上,苏南大叔做了个.sh的更新脚本。以后更新的时候,就敲一下这个.sh命令的地址,就可以做到代码更新了。下面的脚本中,苏南大叔用到了一个rsync的命令,这里就做个预览吧。具体的更多详细内容,可以参见苏南大叔的后续文章。

cd /your_local_git_folder/
git pull
rsync -vzrltog --exclude-from=/data/shell/nocp/data-site /data/webhome/data-site1/ syncuser@192.168.1.9::data-site  --password-file=/root/rsync.password
rsync -vzrltog --exclude-from=/root/nocp.txt /root/data-site/ /website/data-site/

总结

本文的难点就在于获取和设置deploykey,做到免密拉取两个以上的项目代码,这可能是个小坑。本文就讲述这么多经验文章了。欢迎大家关注苏南大叔的博客。谢谢。

更多gitlab相关经验文章,请点击下面的链接查看。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   ssh    git

本站的忠实读者小伙伴,正在阅读下面这些文章: