Condivisione della tecnologia

Utilizzo di Jihu Gitlab (2)

2024-07-12

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

Sommario

1. Riga di comando Gitlab per modificare la password dell'amministratore

2. Gestione del servizio Gitlab

3. Il processo di invio del codice di sviluppo dell'azienda

4. Backup e ripristino Gitlab

backup dei dati

Testare il recupero dei dati

5. Configurazione della posta elettronica


 

1. Riga di comando Gitlab per modificare la password dell'amministratore

  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. Gestione del servizio Gitlab

  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. Il processo di invio del codice di sviluppo dell'azienda

  • I project manager (PM) creano attività in GitLab e le assegnano agli sviluppatori

    • Il PM utilizza la funzione Issue di GitLab per creare un'attività e specificare la descrizione dettagliata e i requisiti dell'attività.
    • Assegna compiti a sviluppatori specifici, stabilisci priorità e scadenze.
  • Dopo che lo sviluppatore ha ricevuto l'attività, utilizza git clone localmente per estrarre la libreria di codici

    • Lo sviluppatore esegue il comando nel terminale locale:
      git clone <仓库地址>
    • Clona la codebase nel tuo ambiente di sviluppo locale.
  • Gli sviluppatori creano rami di sviluppo e sviluppano

    • Crea un nuovo ramo di sviluppo localmente, ad es.dev
      git checkout -b dev
    • esisteredevLo sviluppo e le modifiche del codice vengono eseguiti sul ramo.
  • Dopo che lo sviluppatore ha completato lo sviluppo, lo invia al magazzino locale

    • Invia modifiche al codice localmente:
      git add . git commit -m "完成任务描述"
  • Gli sviluppatori richiedono una richiesta di unione di filiali (richiesta di unione) sull'interfaccia GitLab

    • Invia il ramo locale al repository remoto:
      git push origin dev
    • Accedi a GitLab, crea una nuova richiesta di unione nella pagina Richieste di unione del progetto e seleziona il ramo di origine e il ramo di destinazione da unire (solitamentemasterOmain)。
  • Il PM controlla gli invii e le modifiche al codice su GitLab Dopo aver confermato che sono corrette, conferma che il ramo dello sviluppatore verrà unito al ramo principale.

    • Il PM esamina la richiesta di unione su GitLab, comprese le modifiche al codice e i record di invio.
    • Se tutto va bene, il Primo Ministro approverà la richiesta di fusione e lo faràdevRamo fuso inmasterramo.
  • Lo sviluppatore conferma che lo sviluppo è stato completato da Mark done su GitLab e chiude il problema.

    • Gli sviluppatori possono aggiungere la descrizione quando inviano una richiesta di unioneclose #1(In#1è il numero dell'emissione), in modo che quando la richiesta di fusione viene fusa, l'emissione correlata verrà automaticamente chiusa.
    • Se alla descrizione non viene aggiunta alcuna istruzione per chiudere il problema, lo sviluppatore può chiudere manualmente il problema nella pagina Problema.

 

4. Backup e ripristino Gitlab

Controllare la versione del sistema e la versione del software

  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
backup dei dati

Apri il file di configurazione /etc/gitlab/gitlab.rb e visualizza un elemento di configurazione relativo al backup:

 

  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备份文件的存储路径

Questo elemento definisce il percorso del file di backup predefinito. È possibile modificare la configurazione ed eseguire gitlab-ctl riconfigura o gitlab-ctl riavvia Riavviare il servizio affinché abbia effetto.

  1. [root@tty01 ~]# gitlab-ctl reconfigure
  2. [root@tty01 ~]# gitlab-ctl restart

Esegui il comando di backup per eseguire il backup

[root@tty01 ~]# gitlab-rake gitlab:backup:create

Dopo aver eseguito il comando, viene visualizzato un messaggio di avviso:gitlab.rbEgitlab-secrets.json Il file contiene dati sensibili e non è incluso in questo backup. Quando si ripristina un backup, è necessario eseguire manualmente il backup di questi file.

Naturalmente, questi possono essere svolti anche in concomitanza con le attività pianificate.

Controlla se i file nella directory di backup esistono normalmente

  1. [root@tty01 ~]# ls /var/opt/gitlab/backups/
  2. 1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar

Imposta il tempo di conservazione del backup per evitare che i backup vengano eseguiti ogni giorno. Esiste sicuramente il rischio che la directory sia piena. Apri il file di configurazione /etc/gitlab/gitlab.rb e trova la seguente configurazione:

  1. [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
  2. gitlab_rails['backup_keep_time'] = 604800 # 设置备份文件过期时间,604800秒等于7天

Il tempo configurato è in secondi Se desideri aumentarlo o diminuirlo, puoi configurarlo direttamente qui e riavviare il servizio tramite gitlab-ctl restart affinché abbia effetto.

Una volta completato il backup, nella directory di backup verrà generato un pacchetto tar con la data odierna.

Testare il recupero dei dati

Accedere come utente amministrativo ed eliminare gli elementi della libreria

 

È necessario interrompere il servizio di connessione dati prima del ripristino:

  1. [root@tty01 ~]# gitlab-ctl stop unicorn
  2. [root@tty01 ~]# gitlab-ctl stop sidekiq

Se si tratta di un host creato da Taishin, generalmente non è necessario interrompere l'operazione di connessione dati. In teoria, è possibile interrompere questi due servizi. L'arresto di questi due servizi serve a garantire la coerenza dei dati. Generalmente, i file di backup nella directory /data/gitlab/backups del vecchio server vengono copiati in /data/gitlab/backups sul nuovo server per il ripristino. Qui, l'ambiente sperimentale viene ripristinato su questa macchina.

Nota autorizzazioni: 600 autorizzazioni non possono essere ripristinate. L'ambiente sperimentale può essere modificato in 777. Per l'ambiente di produzione, si consiglia di modificare il proprietario e il gruppo.

Dopo aver eseguito il comando, attendi qualche istante... quindi inserisci sì due volte per completare il ripristino.

  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

Prestare attenzione al nome del file dopo BACKUP= qui. Nelle versioni più recenti, il nome completo non può essere utilizzato, _gitlab_backup.tarh verrà aggiunto automaticamente, quindi il punto dopo il nome del file non può essere scritto qui.

Una volta completato il ripristino, ora puoi riavviare tutti i servizi o semplicemente avviare i due servizi di connessione dati che erano stati chiusi in precedenza.

  1. [root@tty01 backups]# gitlab-ctl restart
  2. [root@tty01 backups]# gitlab-ctl start unicorn
  3. [root@tty01 backups]# gitlab-ctl start sidekiq

Nota: il ripristino di gitlab tramite file di backup deve garantire che le versioni gitlab dei due host siano coerenti, altrimenti verrà richiesto che le versioni non corrispondono.  

 

Aggiorna o accedi nuovamente per visualizzare i dati eliminati.

 

 

5. Configurazione della posta elettronica

Modificalo con il tuo indirizzo e-mail, fornitore di servizi e-mail, codice di autorizzazione, porta e altre informazioni.

  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]'

 

Dopo l'impostazione, salvare ed uscire, quindi ricaricare la configurazione.

[root@tty01 ~]# gitlab-ctl reconfigure  #重新配置 GitLab 服务

Accedi alla pagina web e accedi come utente casuale. Abbiamo utilizzato il formato e-mail casuale utilizzato in precedenza. Ora lo cambiamo nella nostra e-mail reale per testare la nostra configurazione e-mail.

 

Dopo aver apportato le modifiche e aver fatto clic su Salva, verrà visualizzato un popup. Devi andare alla tua email e fare clic su Conferma per la verifica.

Quando arrivo alla casella di posta, posso vedere che il mittente è una casella di posta qq che ho compilato nella configurazione e una verifica viene inviata alla casella di posta modificata dell'utente.

Facendo clic su Verifica si passerà a una nuova pagina, dove potrai vedere che l'utente ha modificato con successo il proprio indirizzo email.