minhas informações de contato
Correspondênciamesophia@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Índice
1. Linha de comando do Gitlab para alterar a senha do administrador
2. Gerenciamento de serviços Gitlab
3. Processo de envio do código de desenvolvimento da empresa
4. Backup e recuperação do Gitlab
- [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 # 查看日志;
Gerentes de projeto (PM) criam tarefas no GitLab e as atribuem aos desenvolvedores:
Depois que o desenvolvedor recebe a tarefa, ele usa git clone localmente para extrair a biblioteca de códigos:
git clone <仓库地址>
Os desenvolvedores criam ramos de desenvolvimento e desenvolvem:
dev
: git checkout -b dev
dev
O desenvolvimento e as modificações do código são realizados na filial.Depois que o desenvolvedor conclui o desenvolvimento, ele o envia ao armazém local:
git add . git commit -m "完成任务描述"
Os desenvolvedores solicitam uma solicitação de mesclagem de ramificação (solicitação de mesclagem) na interface do GitLab:
git push origin dev
master
oumain
)。O PM verifica os envios e modificações de código no GitLab. Após confirmar que estão corretos, confirme se o branch do desenvolvedor será mesclado no branch principal.:
dev
Filial incorporada emmaster
filial.O desenvolvedor confirma que o desenvolvimento foi concluído por Mark feito no GitLab e fecha o Issue.:
close #1
(em#1
é o número do problema), de modo que quando a solicitação de mesclagem for mesclada, o problema relacionado será fechado automaticamente.
Verifique a versão do sistema e a versão do software
- [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
Abra o arquivo de configuração /etc/gitlab/gitlab.rb e visualize um item de configuração relacionado ao backup:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #启用下述两个配置项
- gitlab_rails['manage_backup_path'] = true #指定GitLab是否应该自动管理备份路径
- gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #指定GitLab备份文件的存储路径
Este item define o caminho do arquivo de backup padrão. Você pode modificar a configuração e executar. reconfigurar gitlab-ctl ou reiniciar gitlab-ctl Reinicie o serviço para que tenha efeito.
- [root@tty01 ~]# gitlab-ctl reconfigure
- 或
- [root@tty01 ~]# gitlab-ctl restart
Execute o comando de backup para fazer backup
[root@tty01 ~]# gitlab-rake gitlab:backup:create
Após executar o comando, aparece uma mensagem de aviso:gitlab.rb
egitlab-secrets.json
O arquivo contém dados confidenciais e não está incluído neste backup. Ao restaurar um backup, o backup desses arquivos precisa ser feito manualmente.
Naturalmente, isto também pode ser feito em conjunto com tarefas planeadas.
Verifique se os arquivos no diretório de backup existem normalmente
- [root@tty01 ~]# ls /var/opt/gitlab/backups/
- 1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar
Defina o tempo de retenção do backup para evitar que os backups sejam realizados todos os dias. Definitivamente, há o risco de o diretório ficar cheio. Abra o arquivo de configuração /etc/gitlab/gitlab.rb e encontre a seguinte configuração:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
- gitlab_rails['backup_keep_time'] = 604800 # 设置备份文件过期时间,604800秒等于7天
O tempo configurado está em segundos. Se quiser aumentá-lo ou diminuí-lo, você pode configurá-lo diretamente aqui e reiniciar o serviço através de gitlab-ctl restart para que tenha efeito.
Quando o backup for concluído, um pacote tar com a data de hoje será gerado no diretório de backup.
Faça login como usuário administrativo e exclua itens da biblioteca
Você precisa interromper o serviço de conexão de dados antes de restaurar:
- [root@tty01 ~]# gitlab-ctl stop unicorn
- [root@tty01 ~]# gitlab-ctl stop sidekiq
Se for um host construído por Taishin, geralmente não há necessidade de interromper a operação de conexão de dados. Em teoria, não há problema em interromper esses dois serviços. Interromper esses dois serviços é garantir a consistência dos dados. Geralmente, os arquivos de backup no diretório /data/gitlab/backups do servidor antigo são copiados para /data/gitlab/backups no novo servidor para recuperação. Aqui, o ambiente experimental é restaurado nesta máquina.
Observação: permissões: 600 permissões não podem ser restauradas. O ambiente experimental pode ser alterado para 777. Para o ambiente de produção, recomenda-se modificar o proprietário e o grupo.
Após executar o comando, espere um pouco... e digite sim duas vezes para concluir a recuperação.
- [root@tty01 ~]# cd /var/opt/gitlab/backups/ #进入数据备份目录
- [root@tty01 backups]# gitlab-rake gitlab:backup:restore BACKUP=1720624341_2024_07_10_16.11.5-jh
Preste atenção ao nome do arquivo após BACKUP= aqui. Nas versões mais recentes, o nome completo _gitlab_backup.tarh será adicionado automaticamente, portanto o ponto após o nome do arquivo não pode ser escrito aqui.
Após a conclusão da recuperação, você pode reiniciar todos os serviços ou apenas iniciar os dois serviços de conexão de dados que foram fechados anteriormente.
- [root@tty01 backups]# gitlab-ctl restart
- 或
- [root@tty01 backups]# gitlab-ctl start unicorn
- [root@tty01 backups]# gitlab-ctl start sidekiq
Nota: A restauração do gitlab por meio de arquivos de backup deve garantir que as versões do gitlab dos dois hosts sejam consistentes, caso contrário, será avisado que as versões não correspondem.
Atualize ou faça login novamente para ver os dados excluídos.
Altere-o para seu endereço de e-mail, provedor de serviços de e-mail, código de autorização, porta e outras informações.
- [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'] = "newrain_wang@163.com"
- 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'] = 'newrain_wang@163.com'
Após a configuração, salve e saia e recarregue a configuração.
[root@tty01 ~]# gitlab-ctl reconfigure #重新配置 GitLab 服务
Faça login na página da web e faça login como um usuário aleatório. Usamos o formato de email aleatório que usamos antes. Agora vamos alterá-lo para nosso email real para testar nossa configuração de email.
Após fazer as alterações e clicar em Salvar, um pop-up aparecerá. Você precisa acessar seu e-mail e clicar em Confirmar para verificação.
Quando chego à caixa de correio, posso ver que o remetente é uma caixa de correio qq que preenchi na configuração e uma verificação é enviada para a caixa de correio alterada do usuário.
Clicar em Verificar irá pular para uma nova página, onde você poderá ver que o usuário alterou seu endereço de e-mail com sucesso.