Technologieaustausch

Verwendung von Jihu Gitlab (2)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Inhaltsverzeichnis

1. Gitlab-Befehlszeile zum Ändern des Administratorkennworts

2. Gitlab-Dienstverwaltung

3. Der Prozess zur Einreichung des Entwicklungscodes des Unternehmens

4. Gitlab-Sicherung und -Wiederherstellung

Datensicherung

Testen Sie die Datenwiederherstellung

5. E-Mail-Konfiguration


 

1. Gitlab-Befehlszeile zum Ändern des Administratorkennworts

  1. [root@tty01 ~]# gitlab-rails console -e production # 启动GitLab的Rails控制台
  2. --------------------------------------------------------------------------------
  3. Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
  4. GitLab: 16.11.5-jh (3a067aedcc3) EE
  5. GitLab Shell: 14.35.0
  6. PostgreSQL: 14.11
  7. ------------------------------------------------------------[ booted in 50.69s ]
  8. Loading production environment (Rails 7.0.8.1)
  9. irb(main):001:0> user = User.where(id: 1).first # id为1的是超级管理员
  10. => #<User id:1 @root>
  11. irb(main):002:0> user.password = 'Qq111111' # 密码必须至少8个字符
  12. => "Qq111111"
  13. irb(main):003:0> user.save! # 如没有问题 返回true
  14. => true
  15. irb(main):004:0> exit # 退出

2. Gitlab-Dienstverwaltung

  1. gitlab-ctl start # 启动所有 gitlab 组件;
  2. gitlab-ctl stop # 停止所有 gitlab 组件;
  3. gitlab-ctl restart # 重启所有 gitlab 组件;
  4. gitlab-ctl status # 查看服务状态;
  5. gitlab-ctl reconfigure # 启动服务;
  6. vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
  7. gitlab-ctl tail # 查看日志;

3. Der Prozess zur Einreichung des Entwicklungscodes des Unternehmens

  • Projektmanager (PM) erstellen Aufgaben in GitLab und weisen sie Entwicklern zu

    • Der PM verwendet die Issue-Funktion von GitLab, um eine Aufgabe zu erstellen und die detaillierte Beschreibung und Anforderungen der Aufgabe anzugeben.
    • Weisen Sie Aufgaben bestimmten Entwicklern zu, legen Sie Prioritäten und Fristen fest.
  • Nachdem der Entwickler die Aufgabe erhalten hat, verwendet er git clone lokal, um die Codebibliothek abzurufen

    • Der Entwickler führt den Befehl im lokalen Terminal aus:
      git clone <仓库地址>
    • Klonen Sie die Codebasis in Ihre lokale Entwicklungsumgebung.
  • Entwickler erstellen Entwicklungszweige und entwickeln

    • Erstellen Sie lokal einen neuen Entwicklungszweig, z.dev
      git checkout -b dev
    • existierendevCode-Entwicklung und -Änderungen werden in der Verzweigung durchgeführt.
  • Nachdem der Entwickler die Entwicklung abgeschlossen hat, übermittelt er sie an das örtliche Lager

    • Codeänderungen lokal übermitteln:
      git add . git commit -m "完成任务描述"
  • Entwickler beantragen eine Branch-Merge-Anfrage (Merge-Anfrage) auf der GitLab-Schnittstelle

    • Schieben Sie den lokalen Zweig in das Remote-Repository:
      git push origin dev
    • Melden Sie sich bei GitLab an, erstellen Sie auf der Seite „Zusammenführungsanforderungen“ des Projekts eine neue Zusammenführungsanforderung und wählen Sie den Quellzweig und den Zielzweig aus, die zusammengeführt werden sollen (normalerweise).masterodermain)。
  • 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.

    • PM überprüft Merge Request auf GitLab, einschließlich Codeänderungen und Einreichungsdatensätzen.
    • Wenn alles gut geht, genehmigt der PM den Zusammenführungsantrag und wird dies tundevZweig verschmolz mitmasterZweig.
  • Der Entwickler bestätigt, dass die Entwicklung von Mark auf GitLab abgeschlossen ist und schließt das Problem.

    • Entwickler können die Beschreibung hinzufügen, wenn sie eine Zusammenführungsanfrage einreichenclose #1(In#1ist die Problemnummer), sodass beim Zusammenführen der Zusammenführungsanforderung das zugehörige Problem automatisch geschlossen wird.
    • Wenn der Beschreibung keine Anweisung zum Schließen des Problems hinzugefügt wird, kann der Entwickler das Problem manuell auf der Seite „Problem“ schließen.

 

4. Gitlab-Sicherung und -Wiederherstellung

Systemversion und Softwareversion prüfen

  1. [root@tty01 ~]# cat /etc/redhat-release
  2. Rocky Linux release 9.4 (Blue Onyx)
  3. [root@tty01 ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
  4. 16.11.5-jh
Datensicherung

Öffnen Sie die Konfigurationsdatei /etc/gitlab/gitlab.rb und sehen Sie sich ein Konfigurationselement im Zusammenhang mit der Sicherung an:

 

  1. [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #启用下述两个配置项
  2. gitlab_rails['manage_backup_path'] = true #指定GitLab是否应该自动管理备份路径
  3. 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.

  1. [root@tty01 ~]# gitlab-ctl reconfigure
  2. [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.rbUndgitlab-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

  1. [root@tty01 ~]# ls /var/opt/gitlab/backups/
  2. 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:

  1. [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
  2. 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.

Testen Sie die Datenwiederherstellung

Melden Sie sich als Administrator an und löschen Sie Bibliothekselemente

 

Sie müssen den Datenverbindungsdienst stoppen, bevor Sie Folgendes wiederherstellen:

  1. [root@tty01 ~]# gitlab-ctl stop unicorn
  2. [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.

  1. [root@tty01 ~]# cd /var/opt/gitlab/backups/ #进入数据备份目录
  2. [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.

  1. [root@tty01 backups]# gitlab-ctl restart
  2. [root@tty01 backups]# gitlab-ctl start unicorn
  3. [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.

 

 

5. E-Mail-Konfiguration

Bitte ändern Sie es in Ihre E-Mail-Adresse, Ihren E-Mail-Dienstanbieter, Ihren Autorisierungscode, Ihren Port und andere Informationen.

  1. [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #找到并替换邮箱配置,更改你的邮箱进行测试
  2. gitlab_rails['smtp_enable'] = true
  3. gitlab_rails['smtp_address'] = "smtp.163.com"
  4. gitlab_rails['smtp_port'] = 465
  5. gitlab_rails['smtp_user_name'] = "[email protected]"
  6. gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
  7. gitlab_rails['smtp_domain'] = "smtp.163.com"
  8. gitlab_rails['smtp_authentication'] = "login"
  9. gitlab_rails['smtp_enable_starttls_auto'] = false
  10. gitlab_rails['smtp_tls'] = true
  11. gitlab_rails['smtp_pool'] = false
  12. 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.