mon disque de base est plein pour mon installation de gitlab, est-il possible de déplacer les référentiels et leurs données dans un autre dossier et de s'assurer que les données Push à venir sont envoyées dans ces répertoires?
J'ai essayé d'arrêter gitlab et de copier sur tout le dossier, mais en vain. PS - Je ne suis pas un informaticien, je veux juste savoir comment nous pourrions nous en sortir; alors s'il vous plaît soyez verbeux lorsque vous répondez.
Juste mettre à jour au cas où les gens se réfèrent encore à cela. Depuis le GitLab documentation :
Par défaut, omnibus-gitlab stocke les données du référentiel Git sous
/var/opt/gitlab/git-data
. Les référentiels sont stockés dans un sous-dossierrepositories
. Vous pouvez changer l'emplacement de lagit-data
répertoire parent en ajoutant la ligne suivante à/etc/gitlab/gitlab.rb
.git_data_dirs({"default" => "/mnt/nas/git-data"})
À partir de GitLab 8.10, vous pouvez également ajouter plusieurs répertoires de données git en ajoutant les lignes suivantes à
/etc/gitlab/gitlab.rb
au lieu.git_data_dirs({ "default" => "/var/opt/gitlab/git-data", "alternative" => "/mnt/nas/git-data" })
Notez que les répertoires cibles et leurs sous-chemins ne doivent pas être un lien symbolique.
Courir
Sudo gitlab-ctl reconfigure
pour que les modifications prennent effet.Si vous avez déjà des référentiels Git existants dans
/var/opt/gitlab/git-data
vous pouvez les déplacer vers le nouvel emplacement comme suit:# Prevent users from writing to the repositories while you move them. Sudo gitlab-ctl stop # Note there is _no_ slash behind 'repositories', but there _is_ a # slash behind 'git-data'. Sudo rsync -av /var/opt/gitlab/git-data/repositories /mnt/nas/git-data/ # Fix permissions if necessary Sudo gitlab-ctl reconfigure # Double-check directory layout in /mnt/nas/git-data. Expected output: # gitlab-satellites repositories Sudo ls /mnt/nas/git-data/ # Done! Start GitLab and verify that you can browse through the repositories in # the web interface. Sudo gitlab-ctl start
Solution beaucoup plus simple pour les nouvelles installations avec la version> 7.14.1:
Ouvrez le fichier de configuration gitlab.rb
Sudo nano /etc/gitlab/gitlab.rb
Rechercher git_data_dir
, décommentez la ligne et définissez votre répertoire ici, par exemple.
git_data_dir "/storage/data/gitlab/git-data"
Enregistrez le fichier et reconfigurez Gitlab:
Sudo gitlab-ctl reconfigure
Je viens de déplacer mon dossier de référentiels gitlab d'un répertoire à un autre, cela peut être utile pour quelqu'un (faites-le rapidement et au calme ou arrêtez gitlab à l'avance!)
En supposant que vous ayez une installation standard, les étapes sont
cp -ar SOURCE DESTINATION
Sudo /etc/init.d/gitlab restart
Si vous obtenez le cannot find repo
_ erreur dans GitLab après avoir exécuté les étapes ci-dessus. Exécutez cette commande.
gitlab-rake cache:clear Rails_ENV=production
Cela devrait résoudre le problème si votre chemin est correct.
Dans mon cas, je devais déplacer un référentiel du stockage default
vers le répertoire storage1
Si vous chargez le paramètre général du projet, il affiche le numéro du projet, par exemple 37
:
Sudo gitlab-Rails console
irb(main):012:0> p37 = Project.find(37)
irb(main):009:0> p37.repository_storage
=> "default"
irb(main):010:0> p37.repository_storage = 'storage1'
irb(main):011:0> p37.save
=> true
irb(main):012:0> # <ctrl>+d to send EOF and exit
vider le cache est probablement une bonne idée aussi
vous devez ajouter cette petite config ci-dessous:
git_data_dirs({
"default" => {
"path" => "/srv/gitlab/git-data"
}
})
Et
rsync -av /var/opt/gitlab/git-data/* /srv/gitlab/git-data/.
chown -R git:git /srv/gitlab/git-data/
Sudo gitlab-ctl reconfigure
Terminé.