导语终于到了最后的步骤,使用 git 同步并且自动部署代码。添加用户添加 git 用户禁止 git 用户使用 shell 登录。编辑 /etc/passwd,将 git❌1001:1001::/home/git:/bin/bash 修改为 git❌1001:1001::/home/git:/usr/bin/git-shell参考之前的文章,设置免密添加进用户组 sudo usermod -aG docker git建立裸仓库建立一个目录 library,用作仓库在 library 中初始化一个裸仓库 sudo git init –bare you_project_name.git设置所有者为 git 用户 sudo chown -R git:docker library设置权限为同组可写入 sudo chmod -R g+w library项目目录链接 git同样设置权限为同组可写入并设置所有者sudo chmod -R g+w you_project_pathsudo chown -R user:docker you_project_path在代码目录中,初始化 git,git init添加所有文件,git add .提交 git commit -m ‘init’将代码与远端仓库建立连接,git remote add origin /library/you_project_name.gitpush 代码,git push origin master设置分支跟踪 git branch –set-upstream-to=origin/master master本地同步代码本地直接 clone git clone git@you_server:/library/you_project_name.git本地也是 laradock,同样的流程,进入 workspace 容器中安装项目composer installcp .env.example .envphp artisan key:generate配置 nginx 域名和本地 hosts,然后重启 nginx docker-compose restart nginx然后就是正常的 git 操作设置 git hook最后一步,设置 hook,自动部署。在服务器 /library/you_project_name.git/hooks 目录下编辑 post-update 如下#! /bin/shunset GIT_DIRDIR_ONE=you_project_path/ #你的项目目录cd $DIR_ONEgit pull origin master设置所有者 sudo chown git:docker post-update设置权限 sudo chmod +x post-update结语终于完成了。过程不算顺利,但总是比之前好多了。剩下的就是写代码了。