3ab952f5 |
# [`ansible-role-gitolite`][]
An [Ansible][] [role][] for deploying [gitolite][] on [Debian][] >=9.
|
c13e1cf7 |
Installs [gitolite][], creates a [dedicated user][] to run it (defaults to
|
7f28ac9d |
`git`), prepares for [administering gitolite directly on the server][], allows
(explicit) [user created repos][] with [multiple `OWNERS`][] and `user/USER/*`
|
228564e8 |
[personal branches][] for `USERS`, allows users to run [`symbolic-ref`][] (e.g.
|
76c38bd1 |
to change `HEAD`, the default branch), prepares for [integration with a
|
18a0a364 |
webserver][] (including acting as a [`git-http-backend`][] replacement, serving
repos without the `.git` suffix, and generating
|
ddf83da4 |
[`$GIT_DIR`][]`/`[`README.html`][] and [`$GIT_DIR`][]`/`[`description`][] if
|
da6f623a |
[pandoc][] is available), allows [custom local code][], prepares for [easy
usage][`git-multihook`] of [custom local hooks][], and prepares for integration
with [Jenkins][].
|
f939f92c |
|
3ab952f5 |
[`ansible-role-gitolite`]: https://git.rcrnstn.net/rcrnstn/ansible-role-gitolite
[Ansible]: https://docs.ansible.com/ansible
[role]: https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html
[gitolite]: https://gitolite.com
[Debian]: https://www.debian.org
|
ae125be2 |
[dedicated user]: https://gitolite.com/gitolite/concepts#the-hosting-user
|
c13e1cf7 |
[administering gitolite directly on the server]: https://gitolite.com/gitolite/odds-and-ends#administering-gitolite-directly-on-the-server
|
7fd652b3 |
[user created repos]: https://gitolite.com/gitolite/odds-and-ends#giving-users-their-own-repos
|
89167e91 |
[multiple `OWNERS`]: https://gitolite.com/gitolite/wild#specifying-owners
|
81d341ec |
[personal branches]: https://gitolite.com/gitolite/user#personal-branches
|
7f28ac9d |
[`symbolic-ref`]: https://git-scm.com/docs/git-symbolic-ref
|
228564e8 |
[integration with a webserver]: https://gitolite.com/gitolite/gitweb-daemon.html
|
9dc3494b |
[`git-http-backend`]: https://git-scm.com/docs/git-http-backend
|
18a0a364 |
[`$GIT_DIR`]: https://www.git-scm.com/docs/git#Documentation/git.txt-codeGITDIRcode
[`README.html`]: https://git-scm.com/docs/gitweb#Documentation/gitweb.txt-READMEhtml
|
ddf83da4 |
[`description`]: https://git-scm.com/docs/gitweb#Documentation/gitweb.txt-descriptionorcodegitwebdescriptioncode
|
18a0a364 |
[pandoc]: https://pandoc.org
|
76c38bd1 |
[custom local code]: https://gitolite.com/gitolite/non-core.html#using-the-gitolite-admin-repo-to-manage-non-core-code
|
6587107f |
[`git-multihook`]: https://git.rcrnstn.net/rcrnstn/git-multihook
[custom local hooks]: https://gitolite.com/gitolite/cookbook#adding-other-non-update-hooks
|
da6f623a |
[Jenkins]: https://www.jenkins.io
|
1ee6e760 |
|
11306049 |
## Try out
A stand-in [`site.yml`][] [playbook][] is provided, use it with
```
ansible-playbook -K -i $host, site.yml
```
(note the comma!) replacing `$host` with the host you want to set up (can be
`localhost`, perhaps adding `--connection=local`).
|
eba87160 |
A [`Vagrantfile`][] that uses it is also provided, try it out with the usual
[`vagrant up`][].
|
11306049 |
[`site.yml`]: site.yml
[playbook]: https://docs.ansible.com/ansible/latest/user_guide/playbooks.html
|
eba87160 |
[`Vagrantfile`]: Vagrantfile
[`vagrant up`]: https://www.vagrantup.com/docs/cli/up.html
|
11306049 |
|
1ee6e760 |
## License
Licensed under the [ISC License][] unless otherwise noted, see the
[`LICENSE`][] file.
[ISC License]: https://choosealicense.com/licenses/isc/
[`LICENSE`]: LICENSE
|