我可以直接从GitHub部署到我的(debian linux)服务器吗?有没有办法在每次提交后自动将代码从GitHub传输到我的服务器?还操纵配置文件?
答案 0 :(得分:2)
克隆服务器上的存储库,每隔1或2分钟在服务器上运行一个cronjob(或根据提交频率的任何间隔)并更新存储库。那应该够了。但这在生产服务器上是不可取的。您可以在测试或登台服务器上执行此操作。
答案 1 :(得分:1)
Bibhas上面的答案是正确的,但是,如果您不是唯一一个在存储库上合作的人,您可能需要考虑使用 git标记来指示可发布的代码并仅触发更新当出现新标签时。
要执行此操作,请在您的开发计算机上标记您的最新提交并将其推送:
git tag -a v1.0 -m"Initial tag"
git push origin --tags
然后,在您的服务器上:
git remote update && git checkout v1.0
然后,您的cron脚本应该执行以下操作:
cd $REPO && git remote update
HEAD
的参考号(假设您只能查看代码):current=$(git rev-parse HEAD)
latest=$(git rev-list --tags | head -1)
$current
不等于$latest
,请查看最新标记:git checkout $(git tag --points-at $latest)