deploiement/roles/installations/tasks/cgit.yml
rick e52caab4f2
fix cgit installation and add gitolite configuration
Cgit works just after the installation, no more configuration is needed.
Configurations of cgit and gitolite are uploaded now. Admin's SSH key too.
2022-06-11 15:16:46 +02:00

148 lines
3.8 KiB
YAML

################################################################################
# installation de cgit et configuration de nginx et gitolite
#
# Copyright (C) 2022 rick G. <rick@gnous.eu>
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <https://www.gnu.org/licenses/>.
################################################################################
---
- name: update de la machine
apt:
update_cache: true
upgrade: yes
- name: installation des paquets nécessaires
apt:
name:
- libzip-dev
- libssl-dev
- zlib1g-dev
- python3-certbot-nginx
- fcgiwrap
- python3-zipp
- name: installation de pygments
ansible.builtin.pip:
name: pygments
- name: création utilisateur cgit
ansible.builtin.user:
name: "{{ git_user }}"
shell: "/bin/bash"
state: present
#groups: "www"
- name: clonage de cgit
ansible.builtin.git:
dest: "{{ path_tmp_cgit }}"
repo: "https://git.zx2c4.com/cgit"
single_branch: yes
- name: configuration de la compilation de cgit
template:
src: "config-cgit.conf"
dest: "{{ path_tmp_cgit }}/cgit.conf"
mode: 0644
- name: compilation de cgit
community.general.make:
chdir: "{{ path_tmp_cgit }}"
- name: installation de cgit
community.general.make:
chdir: "{{ path_tmp_cgit }}"
target: install
- name: configuration de cgit
template:
src: "cgitrc"
dest: "{{ path_cgit }}"
mode: 0644
- name: clonage de gitolite
ansible.builtin.git:
dest: "{{ path_gitolite }}"
repo: "https://github.com/sitaramc/gitolite"
single_branch: yes
- name: installation de gitolite
ansible.builtin.command:
cmd: "{{ path_gitolite }}/install -to {{ home_user }}/bin"
- name: upload de la clé SSH de l'admin
ansible.builtin.copy:
src: "../files/{{ admin_key }}"
dest: "/tmp/{{ admin_key }}"
- name: configuration du premier utilisateur
ansible.builtin.command:
cmd: "{{ home_user }}/bin/gitolite setup -pk /tmp/{{ admin_key }}"
- name: déplacement des dossiers de configuration de gitolite
ansible.builtin.copy:
src: "/root/{{ item }}"
dest: "{{ home_user }}"
remote_src: yes
owner: "{{ git_user }}"
group: "{{ git_user }}"
loop:
- ".gitolite"
- ".gitolite.rc"
- "projects.list"
- "repositories"
- name: configuration des droits du dossier repositories
file:
path: "{{ home_user }}/repositories"
mode: 0705
state: directory
recurse: yes
- name: configuration des droits des dossiers de cgit et gitolite
file:
path: "{{ item }}"
owner: "{{ git_user }}"
group: "{{ git_user }}"
recurse: yes
state: directory
loop:
- "{{ home_user }}/bin"
- "{{ path_cgit }}"
- "{{ path_gitolite }}"
- name: configuration des dépots
ansible.builtin.lineinfile:
path: "{{ home_user }}/.gitolite.rc"
regex: "UMASK"
line: "\tUMASK => 0072,"
- name: configuration de Nginx
template:
src: "cgit-nginx"
dest: "/etc/nginx/sites-available/cgit.conf"
mode: 0644
- name: lien symbolique pour le site cgit
file:
src: /etc/nginx/sites-available/cgit.conf
dest: /etc/nginx/sites-enabled/cgit.conf
state: link
- name: démarrage par défaut de fcgiwrap
ansible.builtin.service:
name: fcgiwrap
enabled: yes
notify:
- restart fcgiwrap