这是我第一次探索从 gitlab 到生产服务器(数字海洋)的 webhook 和自动部署
我将触发一个 URL(http://example.com/git/hook/pull-master.php) 每当我从本地机器推送文件时都会在 webhook 上。
pull-master.php 的代码如下:
$cmd = "git pull https://usr:[email protected]/johndoe/project.git master"; echo shell_exec($cmd);
我可否知道
- 上述自动部署方法安全吗?
- 生产服务器可以有
.git
文件夹吗?假设.git中的项目目录大约为100MB〜500MB
上述自动部署方法安全吗?这是开发人员将代码自动部署到其暂存/生产服务器的通常方法吗?
答案1
我认为只要你防止你的 .git 目录被公开访问,这样就没问题了。
查看https://gist.github.com/nichtich/5290675#file-deploy-php以更深入地了解您正在做的事情。