包含 GitLab 标签的文章

GitLab 备份与恢复

备份 执行备份命令: sudo gitlab-backup create #如果是使用Docker部署的: sudo docker exec -t <container name> gitlab-backup create 备份完成后会生成备份文件:<backup-id>_gitlab_backup.tar,其中的 <backup-id> 包含了备份时间、GitLab 版本等信息,例如: 1493107454_2018_04_25_10.6.4-ce_gitlab_backup.tar 默认情况下备份的存储位置是:/var/opt/gitlab/backups 此外还应单独备份以下文件: /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /etc/gitlab/ssl /etc/gitlab/trusted-certs 自动删除旧备份 如果想在备份时自动删除旧备份文件,可以修改备份文件的生存期,编辑 /etc/gitlab/gitlab.rb: ## Limit backup lifetime to 7 days - 604800 seconds gitlab_rails['backup_keep_time'] = 604800 修改配置文件后需执行重新配置命令才能生效: sudo gitlab-ctl reconfigure 恢复 从备份文件恢复 GitLab 需要一个可运行的实例,可以重新安装一个全新的程序,但要选用与备份文件一致的版本。恢复时原有数据会被清除! 首先应该手动恢复: /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /etc/gitlab/ssl /etc/gitlab/trusted-certs 重新配置,执行: sudo gitlab-ctl reconfigure 将要恢复的备份文件拷贝至: /var/opt/gitlab/backups/(如果没改备份存储路径的话) 停止连接到数据库的进程: sudo gitlab-ctl stop puma sudo gitlab-ctl stop sidekiq sudo gitlab-ctl status #再次确认他们已被关闭 执行恢复命令: sudo gitlab-backup restore BACKUP=<backup-id> 例如: sudo gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce 恢复完成后重新启动并检查 GitLab: sudo gitlab-ctl restart sudo gitlab-rake gitlab:check SANITIZE=true 验证数据库的值是否可以被解密,尤其是在还原了/etc/gitlab/gitlab-secrets.json或更换了服务器: sudo gitlab-rake gitlab:doctor:secrets 为了确保恢复的可靠,还可以对上传文件做完整性检验: sudo gitlab-rake gitlab:artifacts:check sudo gitlab-rake gitlab:lfs:check sudo gitlab-rake gitlab:uploads:chec...

忘记 GitLab 管理员密码后如何修改密码

1、如果 GitLab 是用 Docker 安装的,先进入容器: docker exec -it gitlab bash 2、进入 Rails 控制台: gitlab-rails console 输出: -------------------------------------------------------------------------------- Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux] GitLab: 15.2.2-ee (4420a6308aa) EE GitLab Shell: 14.9.0 PostgreSQL: 13.6 -----------------------------------------------------------[ booted in 10s ] Loading production environment (Rails 6.1.4.7) irb(main):001:0> 3、查找到管理员对象,以 root 为例: user = User.find_by(username: 'root') pp user.attributes #打印对象的信息,确认一下 4、修改密码: user.password = 'new password' user.save quit 接下来就可以用新密码登录...

非 Docker 方式安装 GitLab

GitLab 是一个基于 Git 的代码托管与协作平台,可以实现代码的版本管理、代码的审阅、问题追踪等功能。它是一个开源的、管理代码的全流程解决方案,用户可以通过其提供的 Web 界面轻松地管理代码仓库、代码版本、任务列表、CI/CD 等。 GitLab 不仅仅是一个代码托管平台,还提供了许多其他的功能,如代码审查、问题追踪、Wiki、持续集成和交付等。其中,代码审查是 GitLab 最突出的功能之一,它可以让团队成员在代码合并之前对代码进行评审和讨论,确保代码的质量和一致性。此外,GitLab 还支持多人协作开发,用户可以通过它方便地与团队成员进行代码共享和协作开发。它还提供了强大的问题追踪功能,可以让团队成员轻松地跟踪和解决问题。 安装 CentOS 7 安装和配置必要的依赖: yum install policycoreutils openssh-server openssh-clients systemctl enable sshd systemctl start sshd yum -y install postfix systemctl enable postfix systemctl start postfix firewall-cmd --permanent --add-service=http systemctl reload firewalld 获取并安装软件包: yum 方式安装: vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 repo_gpgcheck=0 gpgcheck=0 enabled=1 gpgkey=https://packages.gitlab.com/gpg.key yum makecache yum -y install gitlab-ce 或直接安装 rpm 包: wget http://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.5.1-ce.0.el7.x86_64.rpm sudo rpm -i gitlab-ce-8.5.1-ce.0.el7.x86_64.rpm Ubuntu curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null sudo vim /etc/apt/sources.list.d/gitlab-ce.list deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu trusty main sudo apt-get update sudo apt-get install gitlab-ce=10.1.3-ce.0 配置 创建仓库位置 sudo mkdir -p /data/git-data sudo chown -R git:git /data/git-data 创建备份位置 sudo mkdir -p /backups/gitlab sudo chown -R git:git /backups/gitlab 修改配置文件 sudo vim /etc/gitlab/gitlab.rb external_url "https://192.168.1.223:8888" git_data_dir "/data/git-data" //// gitlab10 git_data_dirs({ "default" => { "path" => "/data/git-data" } }) /////////////////////////////// gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.mculoop.com" gitlab_rails['smtp_port'] = 25 gitlab_rails['smtp_user_name'] = "gitlab@mculoop.com" gitlab_rails['smtp_password'] = "***" gitlab_rails['smtp_domain'] = "smtp.mculoop.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['gitlab_email_from'] = "gitlab@mculoop.com" user["git_user_email"] = "gitlab@mculoop.com" #nginx['redirect_http_to_https'] = true ##注意:8.5.1版本 redirect_http_to_https 不能打开,否则会提示:no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking #nginx['redirect_http_to_https_port'] = 8888 nginx['ssl_certificate'] = "/data/ssl/localhost.crt" nginx['ssl_certificate_key'] = "/data/ssl/localhost.key" gitlab_rails['backup_path'] = '/backups/gitlab' 防火墙放端口 firewall-cmd --permanent --add-port=8888/tcp systemctl restart firewalld 配置并运行 gitlab-ctl reconfigure  #每次配置后都运行这个命令 好了,已经可以访问了。 默认用户名及密码: Username: root Password: 5iveL!fe 其他命令 重启命令: gitlab-ctl restart 查看运行情况命令: gitlab-ctl status 备份: sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq sudo gitlab-ctl stop nginx sudo gitlab-rake gitlab:backup:create sudo gitlab-ctl restart 定时备份: crontab -e 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create #凌晨2点执行备份 #格式:minute hour day month dayofweek command 从备份恢复: # 停止相关数据连接服务 sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq # 从1393513186编号备份中恢复 gitlab-rake gitlab:backup:restore BACKUP=1515653671_2018_01_11_10.3.3 # 启动Gitlab gitlab-ctl restart 升级 Gitlab: 如果是用 yum 方式安装的,只需执行 yum install gitlab-ce 即可。 如果是用下载的 rpm 安装包安装的,升级过程: wget http://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.5.3-ce.0.el7.x86_64.rpm rpm -Uvh gitlab-ce-8.5.3-ce.0.el7.x86_64.rpm Ubuntu 下的与 CentOS 下的类...