2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Table des matières
1. Ligne de commande Gitlab pour changer le mot de passe administrateur
2. Gestion des services Gitlab
3. Le processus de soumission du code de développement de l’entreprise
4. Sauvegarde et récupération Gitlab
Tester la récupération des données
5. Configuration de la messagerie
- [root@tty01 ~]# gitlab-rails console -e production # 启动GitLab的Rails控制台
- --------------------------------------------------------------------------------
- Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
- GitLab: 16.11.5-jh (3a067aedcc3) EE
- GitLab Shell: 14.35.0
- PostgreSQL: 14.11
- ------------------------------------------------------------[ booted in 50.69s ]
- Loading production environment (Rails 7.0.8.1)
- irb(main):001:0> user = User.where(id: 1).first # id为1的是超级管理员
- => #<User id:1 @root>
- irb(main):002:0> user.password = 'Qq111111' # 密码必须至少8个字符
- => "Qq111111"
- irb(main):003:0> user.save! # 如没有问题 返回true
- => true
- irb(main):004:0> exit # 退出
- gitlab-ctl start # 启动所有 gitlab 组件;
- gitlab-ctl stop # 停止所有 gitlab 组件;
- gitlab-ctl restart # 重启所有 gitlab 组件;
- gitlab-ctl status # 查看服务状态;
- gitlab-ctl reconfigure # 启动服务;
- vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
- gitlab-ctl tail # 查看日志;
Les chefs de projet (PM) créent des tâches dans GitLab et les attribuent aux développeurs:
Une fois que le développeur a reçu la tâche, il utilise git clone localement pour extraire la bibliothèque de codes.:
git clone <仓库地址>
Les développeurs créent des branches de développement et développent:
dev
: git checkout -b dev
dev
Le développement et les modifications du code sont effectués sur la branche.Une fois le développement terminé, le développeur le soumet à l'entrepôt local.:
git add . git commit -m "完成任务描述"
Les développeurs postulent pour une demande de fusion de branche (demande de fusion) sur l'interface GitLab:
git push origin dev
master
oumain
)。Le PM vérifie les soumissions et les modifications de code sur GitLab. Après avoir confirmé qu'elles sont correctes, confirmez que la branche du développeur sera fusionnée dans la branche principale.:
dev
Branche fusionnée avecmaster
bifurquer.Le développeur confirme que le développement est terminé par Mark done sur GitLab et clôture le problème.:
close #1
(dans#1
est le numéro du problème), de sorte que lorsque la demande de fusion est fusionnée, le problème associé sera automatiquement fermé.
Vérifier la version du système et la version du logiciel
- [root@tty01 ~]# cat /etc/redhat-release
- Rocky Linux release 9.4 (Blue Onyx)
- [root@tty01 ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- 16.11.5-jh
Ouvrez le fichier de configuration /etc/gitlab/gitlab.rb et affichez un élément de configuration lié à la sauvegarde :
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #启用下述两个配置项
- gitlab_rails['manage_backup_path'] = true #指定GitLab是否应该自动管理备份路径
- gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #指定GitLab备份文件的存储路径
Cet élément définit le chemin du fichier de sauvegarde par défaut. Vous pouvez modifier la configuration et exécuter. reconfigurer gitlab-ctl ou redémarrer gitlab-ctl Redémarrez le service pour prendre effet.
- [root@tty01 ~]# gitlab-ctl reconfigure
- 或
- [root@tty01 ~]# gitlab-ctl restart
Exécuter la commande de sauvegarde pour sauvegarder
[root@tty01 ~]# gitlab-rake gitlab:backup:create
Après avoir exécuté la commande, un message d'avertissement apparaît :gitlab.rb
etgitlab-secrets.json
Le fichier contient des données sensibles et n'est pas inclus dans cette sauvegarde. Lors de la restauration d'une sauvegarde, ces fichiers doivent être sauvegardés manuellement.
Bien entendu, celles-ci peuvent également être réalisées en conjonction avec des tâches planifiées.
Vérifiez si les fichiers du répertoire de sauvegarde existent normalement
- [root@tty01 ~]# ls /var/opt/gitlab/backups/
- 1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar
Définissez la durée de conservation des sauvegardes pour éviter que des sauvegardes soient effectuées quotidiennement. Il existe certainement un risque que le répertoire soit plein. Ouvrez le fichier de configuration /etc/gitlab/gitlab.rb et recherchez la configuration suivante :
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
- gitlab_rails['backup_keep_time'] = 604800 # 设置备份文件过期时间,604800秒等于7天
Le temps configuré est en secondes. Si vous souhaitez l'augmenter ou le diminuer, vous pouvez le configurer directement ici et redémarrer le service via gitlab-ctl restart pour prendre effet.
Une fois la sauvegarde terminée, un package tar avec la date du jour sera généré dans le répertoire de sauvegarde.
Connectez-vous en tant qu'utilisateur administratif et supprimez les éléments de la bibliothèque
Vous devez arrêter le service de connexion de données avant de restaurer :
- [root@tty01 ~]# gitlab-ctl stop unicorn
- [root@tty01 ~]# gitlab-ctl stop sidekiq
S'il s'agit d'un hôte construit par Taishin, il n'est généralement pas nécessaire d'arrêter l'opération de connexion de données. En théorie, il est acceptable d'arrêter ces deux services. Arrêter ces deux services, c'est assurer la cohérence des données. Généralement, les fichiers de sauvegarde du répertoire /data/gitlab/backups de l'ancien serveur sont copiés dans /data/gitlab/backups sur le nouveau serveur pour récupération. Ici, l'environnement expérimental est restauré sur cette machine.
Remarque sur les autorisations : 600 autorisations ne peuvent pas être restaurées. L'environnement expérimental peut être modifié en 777. Pour l'environnement de production, il est recommandé de modifier le propriétaire et le groupe.
Après avoir exécuté la commande, attendez un moment... puis entrez oui deux fois pour terminer la récupération.
- [root@tty01 ~]# cd /var/opt/gitlab/backups/ #进入数据备份目录
- [root@tty01 backups]# gitlab-rake gitlab:backup:restore BACKUP=1720624341_2024_07_10_16.11.5-jh
Faites attention au nom du fichier après BACKUP= ici. Dans les versions plus récentes, le nom complet ne peut pas être utilisé, _gitlab_backup.tarh sera ajouté automatiquement, donc le point après le nom du fichier ne peut pas être écrit ici.
Une fois la récupération terminée, vous pouvez maintenant redémarrer tous les services ou simplement démarrer les deux services de connexion de données précédemment fermés.
- [root@tty01 backups]# gitlab-ctl restart
- 或
- [root@tty01 backups]# gitlab-ctl start unicorn
- [root@tty01 backups]# gitlab-ctl start sidekiq
Remarque : La restauration de gitlab via des fichiers de sauvegarde doit garantir que les versions de gitlab des deux hôtes sont cohérentes, sinon cela indiquera que les versions ne correspondent pas.
Actualisez ou reconnectez-vous pour voir les données supprimées.
Veuillez le remplacer par votre adresse e-mail, votre fournisseur de services de messagerie, votre code d'autorisation, votre port et d'autres informations.
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #找到并替换邮箱配置,更改你的邮箱进行测试
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.163.com"
- gitlab_rails['smtp_port'] = 465
- gitlab_rails['smtp_user_name'] = "[email protected]"
- gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
- gitlab_rails['smtp_domain'] = "smtp.163.com"
- gitlab_rails['smtp_authentication'] = "login"
- gitlab_rails['smtp_enable_starttls_auto'] = false
- gitlab_rails['smtp_tls'] = true
- gitlab_rails['smtp_pool'] = false
- gitlab_rails['gitlab_email_from'] = '[email protected]'
Après le réglage, enregistrez et quittez, puis rechargez la configuration.
[root@tty01 ~]# gitlab-ctl reconfigure #重新配置 GitLab 服务
Connectez-vous à la page Web et connectez-vous en tant qu'utilisateur aléatoire. Nous avons utilisé le format de courrier électronique aléatoire que nous utilisions auparavant. Nous le remplaçons maintenant par notre véritable courrier électronique pour tester notre configuration de courrier électronique.
Après avoir apporté des modifications et cliqué sur Enregistrer, une fenêtre contextuelle apparaîtra. Vous devez accéder à votre adresse e-mail et cliquer sur Confirmer pour vérification.
Quand j'arrive à la boîte aux lettres, je vois que l'expéditeur est une boîte aux lettres qq que j'ai renseignée dans la configuration, et une vérification est envoyée à la boîte aux lettres modifiée de l'utilisateur.
En cliquant sur Vérifier, vous accéderez à une nouvelle page, où vous pourrez voir que l'utilisateur a réussi à modifier son adresse e-mail.