Linux 要將 Gitolite 做搬家的動作,該怎麼做呢?
- 註:此篇紀錄是 Debian Linux (stretch) 的 gitolite3 的搬法
個人筆記, 記錄關於 系統、程式、新聞 與 日常生活 等資訊
Gitolite 的某個 Project 要 push 後,自動到前端的機器自動更新,要如何做?
一般要實做 push 自動更新,只需要從 hooks/post-update 著手即可。
#!/bin/sh /usr/bin/ssh [email protected] "cd /var/www/project/;git pull"
但是 gitolite 會將 hooks 裡面的檔案權限都自動修改成 640 (不可執行)
所以換個作法:
#!/bin/sh /usr/bin/ssh [email protected] "cd /var/www/project/;git pull"
這樣子就可以 push 試試看囉~
單純使用 SSH 架設可見此篇: Linux 架設使用 SSH 共享存取的 Git Server
想要控管 User / Project 權限, 而且還想要控管 branch / tag 等讀寫權限, 則需要靠 Gitolite 等套件來協助.
此篇主要寫的是 Gitolite 架設, 若之前已經有依照上述文章架設共享存取的 Git Server, 而 Gitolite 也想用 git 的帳號來管理, 則需做下述動作先改回原始設定.
註: 此文會用 gitolite 的帳號來管理, 不會用 git 帳號, 所以不需要做下述更改的動作
git:x:1000:1000::/home/git:/usr/bin/git-shell
改回
git:x:1000:1000::/home/git:/bin/sh