Git

GitLab 自動部署

  • August 31, 2015

我將在我的學校創建一個 gitlab 伺服器來託管課程程式碼。我希望每次使用者推送到 gitlab 時,它都會自動將項目部署到 gitlab /var/www/gitdeploy/<repo-user>/<repo>/<branch>,以一種http://<myServer>/gitdeploy/<repo-user>/<repo>/<branch>可訪問的方式。

最好它會部署所有分支,但至少 master 會很好。所有這些都將在同一台伺服器上執行。

我聽說過 Gitlab CI,但不確定它是否適合我,而且我不知道如何設置它。

我怎麼能這樣做?

編輯: 另外,我想我應該為所有使用者指定我想要它,希望沒有我為每個使用者配置它,ice globaly

我想出了一個可能的解決方案,在“綜合”安裝中,我相信可以通過在/opt/gitlab/embedded/service/gitlab-shell/hooks/post-receive. 但是,每當您更新 gitlab 時,該鉤子都會恢復為包版本。我建議拿著包裹來避免這種情況。

post-receive您可以使用部署程式碼的 git 伺服器端鉤子(例如)來實現。然而,Gitlab CI 就是為此而設計的,你應該考慮使用它。

如果你使用鉤子,鉤子將是.git/hooks/post-receive/. 它需要部署憑據,您需要自己編寫。但是,這是鉤子的一種案例。查看文件:https ://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

另請參閱 gitlab 特定文件:http ://doc.gitlab.com/ce/hooks/custom_hooks.html

引用自:https://serverfault.com/questions/716765