git.ruby-lang.org
October 8, 2025 ยท View on GitHub
Features
On each commit of Ruby's Git repository, following git hooks are triggered:
pre-receive
- Verify committer email from
SVN_ACCOUNT_NAMEassociated to SSH key used forgit push - Reject merge commits (ask @mame about why)
update
- Sync ruby.git to GitHub
The directory structure of git.ruby-lang.org
/data/git/ruby.git: Bare Git repository of rubyhooks/pre-receive: Run/home/git/git.ruby-lang.org/hooks/pre-receive.shhooks/update: Run/home/git/git.ruby-lang.org/hooks/update.sh
/home/git/git.ruby-lang.org: Cloned Git repository of git.ruby-lang.org
Notes
- There's a symlink
/var/git->/data/git. - User
git's$HOMEis NOT/home/gitbut/var/git.
How to deploy ruby/git.ruby-lang.org
Authentication
- We use only
adminuser forgit.ruby-lang.org's SSH access.- You should contact @hsbt, @mame or @k0kubun for accessing
git.ruby-lang.org.
- You should contact @hsbt, @mame or @k0kubun for accessing
recipes
# dry-run
bin/hocho apply -n git.ruby-lang.org
# apply
bin/hocho apply git.ruby-lang.org
TODO for recipes for git.ruby-lang.org
- How to store
ssh_host_key*andsshd_configsafely? - How to write a recipe to mount data volume for bare git repository?
- How to write a recipe for mackerel with the host key of git.ruby-lang.org?