use role for cgit installation
This commit is contained in:
parent
8b03e98262
commit
89adafdffc
6 changed files with 204 additions and 0 deletions
57
main.yml
Normal file
57
main.yml
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
################################################################################
|
||||||
|
# installation automatique de mon infra
|
||||||
|
#
|
||||||
|
# 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: cgit
|
||||||
|
hosts: ubuntu
|
||||||
|
become: true
|
||||||
|
|
||||||
|
vars_files:
|
||||||
|
- vars/sites.yml
|
||||||
|
vars:
|
||||||
|
git_user: "git"
|
||||||
|
home_user: "/home/{{ git_user }}"
|
||||||
|
path_tmp_cgit: "{{ home_user }}/tmp"
|
||||||
|
path_cgit: "{{ home_user }}/cgit"
|
||||||
|
path_gitolite: "{{ home_user }}/gitolite"
|
||||||
|
|
||||||
|
pre_tasks:
|
||||||
|
- name: update de la machine
|
||||||
|
apt:
|
||||||
|
update_cache: true
|
||||||
|
upgrade: yes
|
||||||
|
|
||||||
|
- name: installation des paquets nécessaires
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- make
|
||||||
|
- gcc
|
||||||
|
- nginx
|
||||||
|
- certbot
|
||||||
|
- git
|
||||||
|
- sudo
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- installations
|
||||||
|
|
||||||
|
post_tasks:
|
||||||
|
- name: démarrage par défaut de nginx
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: nginx
|
||||||
|
enabled: yes
|
||||||
|
state: restarted
|
5
roles/installations/handlers/main.yml
Normal file
5
roles/installations/handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: restart fcgiwrap
|
||||||
|
service:
|
||||||
|
name: fcgiwrap
|
||||||
|
state: restarted
|
122
roles/installations/tasks/cgit.yml
Normal file
122
roles/installations/tasks/cgit.yml
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
################################################################################
|
||||||
|
# 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: 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 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 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: clonage de gitolite
|
||||||
|
ansible.builtin.git:
|
||||||
|
dest: "{{ path_gitolite }}"
|
||||||
|
repo: "https://github.com/sitaramc/gitolite"
|
||||||
|
single_branch: yes
|
||||||
|
|
||||||
|
- name: configuration des droits des dossiers
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
owner: "{{ git_user }}"
|
||||||
|
group: "{{ git_user }}"
|
||||||
|
recurse: yes
|
||||||
|
state: directory
|
||||||
|
loop:
|
||||||
|
- "{{ home_user }}/bin"
|
||||||
|
- "{{ home_user }}/etc"
|
||||||
|
- "{{ path_cgit }}"
|
||||||
|
- "{{ path_gitolite }}"
|
||||||
|
|
||||||
|
- name: installation de gitolite
|
||||||
|
command:
|
||||||
|
cmd: "{{ path_gitolite }}/install -to {{ home_user }}/bin"
|
||||||
|
|
||||||
|
- name: création de la liste de projets
|
||||||
|
file:
|
||||||
|
path: "{{ home_user }}/projects.list"
|
||||||
|
mode: 0705
|
||||||
|
state: touch
|
||||||
|
owner: "{{ git_user }}"
|
||||||
|
group: "{{ git_user }}"
|
||||||
|
|
||||||
|
- name: configuration des droits du dossier repositories
|
||||||
|
file:
|
||||||
|
path: "{{ home_user }}/repositories"
|
||||||
|
mode: 0705
|
||||||
|
state: directory
|
||||||
|
recurse: yes
|
||||||
|
owner: "{{ git_user }}"
|
||||||
|
group: "{{ git_user }}"
|
||||||
|
|
||||||
|
- name: démarrage par défaut de fcgiwrap
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: fcgiwrap
|
||||||
|
enabled: yes
|
||||||
|
notify:
|
||||||
|
- restart fcgiwrap
|
||||||
|
|
||||||
|
# TODO fin de configuration de gitolite (premier utilisateur)
|
20
roles/installations/tasks/main.yml
Normal file
20
roles/installations/tasks/main.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
################################################################################
|
||||||
|
# installation et configuration des services de l'infra
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
---
|
||||||
|
- include_tasks: cgit.yml
|
Loading…
Reference in a new issue