summaryrefslogtreecommitdiff
path: root/setup-git-web-interface/checklist.md
blob: f2853f6e5676c83c64e2533a953c905531ecbba7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# Checklist d'installation GitLab sur chillka

## Préparation

- [ ] Accès SSH à chillka en tant que `toshiro`
- [ ] Permissions sudo sur chillka
- [ ] Vérifier que `/var/data/git/repositories` existe
- [ ] **Vérifier la RAM disponible (minimum 2GB, 4GB recommandé)**
- [ ] **Vérifier l'espace disque (minimum 4GB)**
- [ ] Vérifier la connexion internet (pour télécharger GitLab)

## Installation

### Option A : Installation Omnibus (Recommandé)

- [ ] Copier le script `installation-gitlab.sh` sur chillka
- [ ] Rendre le script exécutable : `chmod +x installation-gitlab.sh`
- [ ] Exécuter le script : `./installation-gitlab.sh`
- [ ] Attendre la fin de l'installation (10-15 minutes)
- [ ] Vérifier que GitLab démarre : `sudo gitlab-ctl status`
- [ ] Vérifier les logs si problème : `sudo gitlab-ctl tail`

### Option B : Installation Docker

- [ ] Vérifier que Docker est installé : `docker --version`
- [ ] Vérifier que Docker Compose est installé : `docker-compose --version`
- [ ] Copier `docker-compose-gitlab.yml` dans `~/gitlab/docker-compose.yml`
- [ ] Adapter la configuration dans docker-compose.yml si nécessaire
- [ ] Exécuter : `docker-compose up -d`
- [ ] Attendre le démarrage complet (5-10 minutes)
- [ ] Vérifier les logs : `docker-compose logs -f gitlab`

## Configuration initiale

- [ ] Ouvrir l'URL GitLab dans un navigateur (http://chillka ou celle configurée)
- [ ] Attendre que la page de définition du mot de passe s'affiche
- [ ] Définir le mot de passe root (minimum 8 caractères)
- [ ] Se connecter avec :
  - Username: `root`
  - Password: [le mot de passe défini]
- [ ] Vérifier que l'interface GitLab fonctionne

## Configuration du dépôt existant

- [ ] Vérifier que GitLab utilise le bon répertoire :
  ```bash
  sudo grep git_data_dirs /etc/gitlab/gitlab.rb
  ```
- [ ] Si nécessaire, modifier `/etc/gitlab/gitlab.rb` :
  ```ruby
  git_data_dirs({
    "default" => {
      "path" => "/var/data/git/repositories"
    }
  })
  ```
- [ ] Reconfigurer : `sudo gitlab-ctl reconfigure`
- [ ] Redémarrer : `sudo gitlab-ctl restart`

## Import du dépôt existant

- [ ] Se connecter à GitLab
- [ ] Cliquer sur "New project" ou "+" > "New project"
- [ ] Choisir "Import project"
- [ ] Sélectionner "Repository by URL"
- [ ] Entrer l'URL : `file:///var/data/git/repositories/config-files-keyvault.git`
- [ ] Remplir les informations du projet
- [ ] Cliquer sur "Import project"
- [ ] Vérifier que le dépôt est importé correctement

## Configuration Apache (Optionnel mais recommandé)

- [ ] Installer Apache si pas déjà installé : `sudo apt install apache2`
- [ ] Activer les modules nécessaires :
  ```bash
  sudo a2enmod proxy
  sudo a2enmod proxy_http
  sudo a2enmod headers
  sudo a2enmod ssl
  ```
- [ ] Copier `apache-config.conf` vers `/etc/apache2/sites-available/gitlab.conf`
- [ ] Adapter le `ServerName` dans la config
- [ ] Adapter le `ProxyPass` si GitLab est sur un autre port
- [ ] Activer le site : `sudo a2ensite gitlab.conf`
- [ ] Désactiver le site par défaut si nécessaire : `sudo a2dissite 000-default.conf`
- [ ] Tester la config : `sudo apache2ctl configtest`
- [ ] Recharger Apache : `sudo systemctl reload apache2`

## Configuration SSL (Optionnel mais recommandé)

- [ ] Installer certbot : `sudo apt install certbot python3-certbot-apache`
- [ ] Obtenir le certificat : `sudo certbot --apache -d chillka.example.com`
- [ ] Vérifier le renouvellement automatique : `sudo certbot renew --dry-run`
- [ ] Configurer GitLab pour utiliser HTTPS dans `/etc/gitlab/gitlab.rb` :
  ```ruby
  external_url 'https://chillka.example.com'
  ```
- [ ] Reconfigurer : `sudo gitlab-ctl reconfigure`

## Mise à jour du remote local

- [ ] Sur la machine Windows, mettre à jour le remote :
  ```bash
  # Avec HTTPS
  git remote set-url origin http://chillka/root/config-files-keyvault.git
  
  # OU avec SSH (recommandé)
  git remote set-url origin git@chillka:root/config-files-keyvault.git
  ```
- [ ] Tester le push : `git push origin main`
- [ ] Vérifier que le push apparaît dans l'interface GitLab

## Vérifications finales

- [ ] Accéder à l'interface web GitLab
- [ ] Voir les commits dans l'interface
- [ ] Voir les fichiers du dépôt
- [ ] Voir l'historique des commits
- [ ] Tester un push depuis la machine locale
- [ ] Vérifier que les logs sont visibles
- [ ] Tester la création d'une issue (optionnel)
- [ ] Tester la création d'un merge request (optionnel)

## Configuration avancée (Optionnel)

- [ ] Configurer les notifications par email
- [ ] Configurer les intégrations CI/CD
- [ ] Configurer les webhooks
- [ ] Configurer les runners GitLab CI (si nécessaire)
- [ ] Configurer les sauvegardes automatiques

## Maintenance

- [ ] Configurer les sauvegardes régulières :
  ```bash
  # Ajouter dans crontab
  0 2 * * * /opt/gitlab/bin/gitlab-backup create
  ```
- [ ] Surveiller l'espace disque : `df -h`
- [ ] Surveiller l'utilisation mémoire : `free -h`
- [ ] Mettre à jour GitLab régulièrement :
  ```bash
  sudo apt update
  sudo apt upgrade gitlab-ce
  sudo gitlab-ctl reconfigure
  ```
- [ ] Vérifier la santé du système : `sudo gitlab-rake gitlab:check`

## Réduction de l'utilisation mémoire (si nécessaire)

Si GitLab utilise trop de mémoire :

- [ ] Éditer `/etc/gitlab/gitlab.rb`
- [ ] Ajouter/modifier :
  ```ruby
  puma['worker_processes'] = 2
  sidekiq['max_concurrency'] = 5
  postgresql['shared_buffers'] = "256MB"
  postgresql['max_connections'] = 50
  ```
- [ ] Reconfigurer : `sudo gitlab-ctl reconfigure`
- [ ] Redémarrer : `sudo gitlab-ctl restart`
- [ ] Vérifier l'utilisation mémoire : `free -h`