Select Git revision
google88c23a5c89fa3cb3.html
main.yml 1.76 KiB
---
# tasks file for gitolite
- name: Assertions
assert:
that:
- ansible_os_family in ['Debian']
- ansible_distribution_release in ['xenial', 'trusty', 'jessie']
- gitolite_public_key is defined
- name: APT install
with_items:
- gitolite3
- curl
apt:
name: ['curl', 'gitolite3']
state: present
update_cache: yes
cache_valid_time: 3600
- name: Create gitolite user
user:
name: git
system: yes
createhome: yes
home: /srv/git
shell: /bin/sh
state: present
- name: Copy SSH public key
template:
src: gitolite.pub.j2
dest: /srv/git/gitolite.pub
owner: git
group: git
mode: 0o0644
- name: Setup gitolite
become: yes
become_user: git
command: '/usr/bin/gitolite setup -pk /srv/git/gitolite.pub'
register: gitolite_setup
changed_when: "'Initialized empty Git repository' in gitolite_setup.stderr"
- name: Relax permission for cgit integration
with_items:
- path: /srv/git/repositories
mode: 0o0750
- path: /srv/git/projects.list
mode: 0o0640
file:
path: '{{ item.path }}'
mode: '{{ item.mode }}'
owner: git
group: git
- name: Configure
with_items:
- line: 'UMASK => 0027,'
regexp: '^[ ]*UMASK '
- line: "GIT_CONFIG_KEYS => '.*',"
regexp: '^[ ]*GIT_CONFIG_KEYS '
- line: 'LOG_DEST => syslog,'
regexp: '[ ]*LOG_DEST '
insertafter: '%RC = \('
- line: "'cgit',"
regexp: "^[ ]*'cgit',"
insertafter: 'ENABLE => \['
lineinfile:
dest: /srv/git/.gitolite.rc
line: '{{ item.line }}'