CentOS7配置Git Hooks代码自动部署

服务器 CentOS Linux release 7.3.1611 (Core) x64
开发机 Windows NT 10.0; WOW64

开发机

下载并安装Git

  • Windows Git下载地址
  • 所有步骤缺省安装即可
  • 安装完成后,在任意路径下右键打开Git Bash

下文的用户名和邮箱地址可以随意设置,但是如果你还要提交到GitHub上面,请使用在GitHub上注册的信息,并且将生成的SSH公钥放到GitHub上面,GitHub上面放置公钥的地址==>GitHub添加SSH公钥

生成SSH公钥

  • ssh-keygen -t rsa -C "邮箱地址"一路回车就好
  • 复制 C:\Users\当前用户\.ssh\id_rsa.pub 里面的内容到剪切板

配置账户信息

git config --global user.name "用户名"
git config --global user.email "邮箱地址"

服务器

Git

安装yum -y install git

以下命令中左侧提示符统一没写路径,以具体环境为准

[root]# cd /home/git
[root]# mkdir .ssh
[root]# touch authorized_keys
[root]# vi authorized-keys //将剪切版的内容写到该文件
[root]# chown -R git:git .ssh/ 
[root]# chmod 755 .SSH/
[root]# chmod 644 authorized_keys


[root]# cp /usr/share/doc/git-1.8.3.1/contrib/git-shell-commands/ /home/git/ -R
[root]# chown -R git:git git-shell-commands/
[root]# chmod 755 -R /home/git/git-shell-commands/


[root]# cd /var/www
[root]# mkdir aikihny.git 
[root]# git init --bare //初始化为裸库
[root]# chown git:git /var/www/aikihny.git
[root]# cd /var/www
[root]# git clone aikihny.git //在web目录克隆一个本地库,会生成目录aikihny


[root]# vi /var/www/aikihny.git/hooks/post-receive
//写入以下内容
#!/bin/sh
WEB_ROOT=/var/www/aikihny #这个目录是刚才克隆时生成的
unset  GIT_DIR 
cd $WEB_ROOT
git reset --hard
git pull

[root]# chmod +x /var/www/aikihny.git/hooks/post-receive


[root]# chwon -R git:git aikihny.git
[root]# chown -R git:git aikihny

开发机后续

  • 在本地项目目录git clone git@serverIP:/var/www/aikihny.git
  • cd aikihny
  • echo "index.php
  • git add .
  • git commit -m "push test"
  • git push

感谢网上无数的教程,参考了比较多的作者的博客,因为单独照着做都没成功,总结了一下,具体的坑是复制 git-shell-commands 那个文件夹,然后就是权限问题

你可能感兴趣的:(服务器)