Name Mode Size
..
main.yml 100644 1 kb
README.md
# [`ansible-role-gitolite`][] An [Ansible][] [role][] for deploying [gitolite][] on [Debian][] >=9. Installs [gitolite][], creates a [dedicated user][] to run it (defaults to `git`), prepares for [administering gitolite directly on the server][], allows (explicit) [user created repos][] with [multiple `OWNERS`][] and `user/USER/*` [personal branches][] for `USERS`, allows users to run [`symbolic-ref`][] (e.g. to change `HEAD`, the default branch), prepares for [integration with a webserver][] (including acting as a [`git-http-backend`][] replacement, serving repos without the `.git` suffix, and generating [`$GIT_DIR`][]`/`[`README.html`][] and [`$GIT_DIR`][]`/`[`description`][] if [pandoc][] is available), allows [custom local code][], prepares for [easy usage][`git-multihook`] of [custom local hooks][], and prepares for integration with [Jenkins][]. [`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 [dedicated user]: https://gitolite.com/gitolite/concepts#the-hosting-user [administering gitolite directly on the server]: https://gitolite.com/gitolite/odds-and-ends#administering-gitolite-directly-on-the-server [user created repos]: https://gitolite.com/gitolite/odds-and-ends#giving-users-their-own-repos [multiple `OWNERS`]: https://gitolite.com/gitolite/wild#specifying-owners [personal branches]: https://gitolite.com/gitolite/user#personal-branches [`symbolic-ref`]: https://git-scm.com/docs/git-symbolic-ref [integration with a webserver]: https://gitolite.com/gitolite/gitweb-daemon.html [`git-http-backend`]: https://git-scm.com/docs/git-http-backend [`$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 [`description`]: https://git-scm.com/docs/gitweb#Documentation/gitweb.txt-descriptionorcodegitwebdescriptioncode [pandoc]: https://pandoc.org [custom local code]: https://gitolite.com/gitolite/non-core.html#using-the-gitolite-admin-repo-to-manage-non-core-code [`git-multihook`]: https://git.rcrnstn.net/rcrnstn/git-multihook [custom local hooks]: https://gitolite.com/gitolite/cookbook#adding-other-non-update-hooks [Jenkins]: https://www.jenkins.io ## 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`). A [`Vagrantfile`][] that uses it is also provided, try it out with the usual [`vagrant up`][]. [`site.yml`]: site.yml [playbook]: https://docs.ansible.com/ansible/latest/user_guide/playbooks.html [`Vagrantfile`]: Vagrantfile [`vagrant up`]: https://www.vagrantup.com/docs/cli/up.html ## License Licensed under the [ISC License][] unless otherwise noted, see the [`LICENSE`][] file. [ISC License]: https://choosealicense.com/licenses/isc/ [`LICENSE`]: LICENSE