2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Inhaltsverzeichnis
1. Gitlab-Befehlszeile zum Ändern des Administratorkennworts
3. Der Prozess zur Einreichung des Entwicklungscodes des Unternehmens
4. Gitlab-Sicherung und -Wiederherstellung
Testen Sie die Datenwiederherstellung
- [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 # 查看日志;
Projektmanager (PM) erstellen Aufgaben in GitLab und weisen sie Entwicklern zu:
Nachdem der Entwickler die Aufgabe erhalten hat, verwendet er git clone lokal, um die Codebibliothek abzurufen:
git clone <仓库地址>
Entwickler erstellen Entwicklungszweige und entwickeln:
dev
: git checkout -b dev
dev
Code-Entwicklung und -Änderungen werden in der Verzweigung durchgeführt.Nachdem der Entwickler die Entwicklung abgeschlossen hat, übermittelt er sie an das örtliche Lager:
git add . git commit -m "完成任务描述"
Entwickler beantragen eine Branch-Merge-Anfrage (Merge-Anfrage) auf der GitLab-Schnittstelle:
git push origin dev
master
odermain
)。Der PM überprüft die Einsendungen und Codeänderungen auf GitLab. Nachdem er bestätigt hat, dass sie korrekt sind, bestätigt er, dass der Zweig des Entwicklers mit dem Hauptzweig zusammengeführt wird.:
dev
Zweig verschmolz mitmaster
Zweig.Der Entwickler bestätigt, dass die Entwicklung von Mark auf GitLab abgeschlossen ist und schließt das Problem.:
close #1
(In#1
ist die Problemnummer), sodass beim Zusammenführen der Zusammenführungsanforderung das zugehörige Problem automatisch geschlossen wird.
Systemversion und Softwareversion prüfen
- [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
Öffnen Sie die Konfigurationsdatei /etc/gitlab/gitlab.rb und sehen Sie sich ein Konfigurationselement im Zusammenhang mit der Sicherung an:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #启用下述两个配置项
- gitlab_rails['manage_backup_path'] = true #指定GitLab是否应该自动管理备份路径
- gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #指定GitLab备份文件的存储路径
Dieses Element definiert den Pfad der Standard-Sicherungsdatei. Sie können die Konfiguration ändern und ausführen gitlab-ctl neu konfigurieren oder gitlab-ctl neu starten Starten Sie den Dienst neu, damit er wirksam wird.
- [root@tty01 ~]# gitlab-ctl reconfigure
- 或
- [root@tty01 ~]# gitlab-ctl restart
Führen Sie den Sicherungsbefehl zum Sichern aus
[root@tty01 ~]# gitlab-rake gitlab:backup:create
Nach der Ausführung des Befehls erscheint eine Warnmeldung:gitlab.rb
Undgitlab-secrets.json
Die Datei enthält vertrauliche Daten und ist nicht in dieser Sicherung enthalten. Beim Wiederherstellen eines Backups müssen diese Dateien manuell gesichert werden.
Selbstverständlich können diese auch in Verbindung mit geplanten Aufgaben durchgeführt werden.
Überprüfen Sie, ob die Dateien im Sicherungsverzeichnis normal vorhanden sind
- [root@tty01 ~]# ls /var/opt/gitlab/backups/
- 1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar
Legen Sie die Sicherungsaufbewahrungszeit fest, um zu verhindern, dass täglich Sicherungen durchgeführt werden. Es besteht definitiv die Gefahr, dass das Verzeichnis voll ist. Öffnen Sie die Konfigurationsdatei /etc/gitlab/gitlab.rb und suchen Sie nach der folgenden Konfiguration:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
- gitlab_rails['backup_keep_time'] = 604800 # 设置备份文件过期时间,604800秒等于7天
Die konfigurierte Zeit wird in Sekunden angegeben. Wenn Sie sie erhöhen oder verringern möchten, können Sie sie direkt hier konfigurieren und den Dienst über gitlab-ctl restart neu starten, damit sie wirksam wird.
Nach Abschluss der Sicherung wird im Sicherungsverzeichnis ein TAR-Paket mit dem heutigen Datum generiert.
Melden Sie sich als Administrator an und löschen Sie Bibliothekselemente
Sie müssen den Datenverbindungsdienst stoppen, bevor Sie Folgendes wiederherstellen:
- [root@tty01 ~]# gitlab-ctl stop unicorn
- [root@tty01 ~]# gitlab-ctl stop sidekiq
Wenn es sich um einen von Taishin erstellten Host handelt, besteht im Allgemeinen keine Notwendigkeit, den Datenverbindungsvorgang zu stoppen. Theoretisch ist es in Ordnung, diese beiden Dienste zu stoppen. Durch das Stoppen dieser beiden Dienste soll die Datenkonsistenz sichergestellt werden. Im Allgemeinen werden die Sicherungsdateien im Verzeichnis /data/gitlab/backups des alten Servers zur Wiederherstellung nach /data/gitlab/backups auf dem neuen Server kopiert. Hier wird die experimentelle Umgebung auf diesem Computer wiederhergestellt.
Beachten Sie Berechtigungen: 600 Berechtigungen können nicht wiederhergestellt werden. Die experimentelle Umgebung kann auf 777 geändert werden. Für die Produktionsumgebung wird empfohlen, den Eigentümer und die Gruppe zu ändern.
Warten Sie nach der Ausführung des Befehls eine Weile ... und geben Sie dann zweimal „Ja“ ein, um die Wiederherstellung abzuschließen.
- [root@tty01 ~]# cd /var/opt/gitlab/backups/ #进入数据备份目录
- [root@tty01 backups]# gitlab-rake gitlab:backup:restore BACKUP=1720624341_2024_07_10_16.11.5-jh
Achten Sie hier auf den Dateinamen nach BACKUP=. In neueren Versionen kann nicht der vollständige Name verwendet werden, _gitlab_backup.tarh wird automatisch hinzugefügt, daher kann der Punkt nach dem Dateinamen hier nicht geschrieben werden.
Nachdem die Wiederherstellung abgeschlossen ist, können Sie nun alle Dienste neu starten oder einfach die beiden Datenverbindungsdienste starten, die zuvor geschlossen wurden.
- [root@tty01 backups]# gitlab-ctl restart
- 或
- [root@tty01 backups]# gitlab-ctl start unicorn
- [root@tty01 backups]# gitlab-ctl start sidekiq
Hinweis: Beim Wiederherstellen von Gitlab über Sicherungsdateien muss sichergestellt werden, dass die Gitlab-Versionen der beiden Hosts konsistent sind. Andernfalls wird eine Meldung angezeigt, dass die Versionen nicht übereinstimmen.
Aktualisieren Sie den Vorgang oder melden Sie sich erneut an, um die gelöschten Daten anzuzeigen.
Bitte ändern Sie es in Ihre E-Mail-Adresse, Ihren E-Mail-Dienstanbieter, Ihren Autorisierungscode, Ihren Port und andere Informationen.
- [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]'
Speichern Sie nach dem Festlegen die Konfiguration, beenden Sie sie und laden Sie sie anschließend erneut.
[root@tty01 ~]# gitlab-ctl reconfigure #重新配置 GitLab 服务
Melden Sie sich auf der Webseite an und melden Sie sich als zufälliger Benutzer an. Jetzt ändern wir es in unser echtes E-Mail-Format, um unsere E-Mail-Konfiguration zu testen.
Nachdem Sie Änderungen vorgenommen und auf „Speichern“ geklickt haben, wird ein Popup angezeigt. Gehen Sie zu Ihrer E-Mail und klicken Sie zur Bestätigung auf „Bestätigen“.
Wenn ich zum Postfach komme, kann ich sehen, dass der Absender ein qq-Postfach ist, das ich in der Konfiguration ausgefüllt habe, und eine Bestätigung wird an das geänderte Postfach des Benutzers gesendet.
Wenn Sie auf „Bestätigen“ klicken, gelangen Sie zu einer neuen Seite, auf der Sie sehen können, dass der Benutzer seine E-Mail-Adresse erfolgreich geändert hat.