All Projects → bollwarm → gitlabFAQ

bollwarm / gitlabFAQ

Licence: other
🐧 Gitlab常见问题和有用信息、链接 📝

Projects that are alternatives of or similar to gitlabFAQ

trac-to-gitlab
Easily migrate your Trac instance to Gitlab
Stars: ✭ 22 (+4.76%)
Mutual labels:  gitlab
facebook-clone
Building Facebook clone. As usual, any additional styling will be up to you but the really important stuff is to get the data and back end working properly.
Stars: ✭ 14 (-33.33%)
Mutual labels:  ruby-on-rails
docker-rails-demo
Demo app for Rails, Docker and Webpack
Stars: ✭ 29 (+38.1%)
Mutual labels:  ruby-on-rails
slab
gitlab API를 사용해 귀찮은 일을 덜어주는 slack 봇.
Stars: ✭ 14 (-33.33%)
Mutual labels:  gitlab
python-gitlab3
Python wrapper for the entire GitLab API
Stars: ✭ 44 (+109.52%)
Mutual labels:  gitlab
Devise-Omniauth-Multiple-Providers
Devise Multiple Omniauth Providers
Stars: ✭ 34 (+61.9%)
Mutual labels:  ruby-on-rails
loco-rails
Rails is awesome, but modern web needs Loco-motive.
Stars: ✭ 53 (+152.38%)
Mutual labels:  ruby-on-rails
lamby-cookiecutter
AWS SAM Cookiecutter to Quick Start Rails & Lambda 🐑🛤
Stars: ✭ 17 (-19.05%)
Mutual labels:  ruby-on-rails
git-the-lines
A Discord bot that prints out the lines referenced in a GitHub, GitLab, or BitBucket snippet link
Stars: ✭ 37 (+76.19%)
Mutual labels:  gitlab
challenges-back-end
Repositório referente à desafios de Back End da womakerscode
Stars: ✭ 68 (+223.81%)
Mutual labels:  ruby-on-rails
rubynostrilhos
Blog about Ruby on Rails (pt-br)
Stars: ✭ 16 (-23.81%)
Mutual labels:  ruby-on-rails
sexy form.rb
Dead simple HTML form field builder for Ruby with built-in support for many popular UI libraries such as Bootstrap
Stars: ✭ 38 (+80.95%)
Mutual labels:  ruby-on-rails
lcbo-api
A crawler and API server for Liquor Control Board of Ontario retail data
Stars: ✭ 152 (+623.81%)
Mutual labels:  ruby-on-rails
gitlabform
🏗 Specialized "configuration as a code" tool for GitLab
Stars: ✭ 332 (+1480.95%)
Mutual labels:  gitlab
tracboat
Trac to GitLab migration toolbox
Stars: ✭ 32 (+52.38%)
Mutual labels:  gitlab
appointment-scheduler
Rails Appointment Scheduler
Stars: ✭ 26 (+23.81%)
Mutual labels:  ruby-on-rails
Self-Paced-Coding-Curriculum
Full-stack self-paced coding curriculum I created to teach myself and others how to code.
Stars: ✭ 12 (-42.86%)
Mutual labels:  ruby-on-rails
vscode-github
GitHub Support for vscode
Stars: ✭ 124 (+490.48%)
Mutual labels:  gitlab
gitlab-config
🦊 Semantic-release shareable config for GitLab
Stars: ✭ 36 (+71.43%)
Mutual labels:  gitlab
session
Aplus Framework Session Library
Stars: ✭ 170 (+709.52%)
Mutual labels:  gitlab

1 有用信息 & Url链接 📝

1.1 在线git教程

Git简明教程

图解Git

Pro Git中文版

交互式Git练习

Git飞行规则(git常见问题排查)

:trollface:Git的奇技淫巧

GitHub 漫游指南

交互式Git命令表

Git 聊天入门(推荐)

1.2 Gitlab链接

Gitlab当前版本15.4,功能介绍

历史版本

Gitlab 15.3 Gitlab 15.2 Gitlab 15.1 Gitlab 15.0

Gitlab 14.10 Gitlab 14.9 Gitlab 14.8 Gitlab 14.7 Gitlab 14.6 Gitlab 14.5 Gitlab 14.4 Gitlab 14.2 Gitlab 14.1 Gitlab 14.0

Gitlab 13.12 Gitlab 13.11 Gitlab 13.10 Gitlab 13.9 Gitlab 13.8 Gitlab 13.7 Gitlab 13.6 Gitlab 13.5 Gitlab 13.4 Gitlab 13.3 Gitlab 13.2 Gitlab 13.1 Gitlab 13.0

Gitlab 12.10 Gitlab 12.9 Gitlab 12.8 Gitlab 12.7 Gitlab 12.6 Gitlab 12.5 Gitlab 12.4 Gitlab 12.3 Gitlab 12.2 Gitlab 12.1 Gitlab 12.0

Gitlab 11.11 Gitlab 11.10 Gitlab 11.9 Gitlab 11.8 Gitlab 11.7 Gitlab 11.6 Gitlab 11.5 Gitlab 11.4 Gitlab 11.3 Gitlab 11.2 Gitlab 11.1

Gitlab 官网 www.gitlab.com

Gitlab QQ交流群 208598995

Gitlab-runner文档

https://gitlab.com/gitlab-org/gitlab-runner/tree/master/docs

Security安全文档

https://gitlab.com/help/security/README.md

Gitlab安装国内镜像(清华)

https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/

2 Gitlab安装和配置 🚧

2.1安装Gitlab (以centos 6 为例)

只需要两步,官方说明的第一步实际上可以省略,如果后面发现有问题,在yum其他依赖包,其实上依赖包都安装了。

如果虚拟域名比如 gitlab.xxoo,在你访问机器hosts增加一行

GitlabIP gitlab.xxoo

然后浏览器用gitlab.xxoo访问,用户用root,并且任意8个字符登陆,然后修改密码。

2.2源码安装(一般没必要)

https://docs.gitlab.com/ce/install/installation.html

2.3 docker安装

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

增加环境变量,比如external_url和lfs

sudo docker run --detach \
  --hostname gitlab.example.com \
  --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

docker-compose安装

docker-compose.yml文件示例

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.example.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.example.com'
  ports:
    - '80:80'
    - '443:443'
    - '22:22'
  volumes:
    - '/srv/gitlab/config:/etc/gitlab'
    - '/srv/gitlab/logs:/var/log/gitlab'
    - '/srv/gitlab/data:/var/opt/gitlab'

详见:

https://docs.gitlab.com/omnibus/docker/

2.4 典型的Gitlab配置

external_url 'http://git.YOUdomain'
gitlab_rails['gitlab_shell_ssh_port'] = 8888
nginx['listen_port'] = 5580
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "git@YOUdomian"
gitlab_rails['smtp_password'] = "YOUpasswd"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'gitYOUdomian'

说明:这就是几个需要自己配置的部分

第一个是external_url,那是显示在你gitlab页面链接那的url

第二,三分别是需要自定义的ssh和web端口

修改后重加载和重启服务(3.2)

2.5 历史版本升级路线

升级之前请自做好完全备份!

目标版本 现有版本 推荐升级路径 注意事项
13.2.0 11.5.0 11.5.0-> 11.11.8-> 12.0.12-> 12.10.6-> 13.0.0->13.1.0 需要四个中间版本:11.11、12.0和12.10及13.0
13.0.1 11.10.8 11.10.5-> 11.11.8-> 12.0.12-> 12.10.6->13.0.1 三个中间版本:11.11,12.0和12.10
12.10.6 11.3.4 11.3.4-> 11.11.8-> 12.0.12->12.10.6 两个中间版本:11.11和12.0
12.9.5 10.4.5 10.4.5-> 10.8.7-> 11.11.8-> 12.0.12->12.9.5 三个中间版本:10.8,11.11,12.0,然后12.9.5
12.2.5 9.2.6 9.2.6-> 9.5.10-> 10.8.7-> 11.11.8-> 12.0.12->12.2.5 四个中间版本:9.5,10.8,11.11,12.0,然后12.2
11.3.4 8.13.4 8.13.4-> 8.17.7-> 9.5.10-> 10.8.7->11.3.4 8.17.7是8系列的最新版本, 9.5.10是9系列 的最新版本,10.8.7是10系列的最新版本。
8.12之的版本升级 8.11.x及更老版本 8.11.x->8.12.0->8.17.7 8.11.x和更早的版本:必须先升级到8.12.0然后才能升级到8.17.7。

3 Gitlab nginx配置(HTTPS支持等)🔨

3.1 Gitlab nginx配置

(https://docs.gitlab.com/omnibus/settings/nginx.html#configuring-gitlab-trusted_proxies-and-the-nginx-real_ip-module)

3.2 配置生效和重启服务

gitlab-ctl reconfigure
gitlab-ctl restart

注意gitlab任何配置都在主配置/etc/gitlab/gitlab.rb里面修改

修改好gitlab-ctl reconfig 会自动生成各个部分的配置,不要单独去改其他部分的配置, 比如为了修改web端口去修改nginx配置,那都是错误的方法,很多blog都是那样配的, 那是完全错误的方法。reconfig就会丢掉。

3.3 修改Gitlab管理员root密码

1.启动rails console

gitlab-rails console production

2、依次输入执行以下操作

user = User.where(id: 1).first

user.password="你的密码"

user.save!

quit

3.4 Gitlab HTTPS配置文档

https://docs.gitlab.com/omnibus/settings/ssl.html

https://docs.gitlab.com/omnibus/settings/nginx.html#manually-configuring-https

https://docs.gitlab.com/runner/configuration/tls-self-signed.html

https问题排查,见本地实例帮助文档:

/help/administration/troubleshooting/ssl.md

4 Gitlab 使用API批量创建分组和项目 🐎

gitlab 使用API批量创建分组和项目

5 仓库库迁移及批量创建Gitlab库 ⚡️

repo库迁移及批量创建gitlab库

6 Gitlab数据目录迁移 🚑

Gitlab代码数据默认目录:/var/opt/gitlab/git-data/repositories

数据目录,挂一个大磁盘到目录[目录按照你的喜好命名]

makedir  -p /data/gitlab-data
mount sdb  data/gitlab-data

操作步骤:

  • 停止相关数据连接服务

    gitlab-ctl stop unicorn
    gitlab-ctl stop sidekiq

  • 数据迁移

    cp -r -p /var/opt/gitlab/git-data/repositories/ /home/gitlab-data/

这里CP一定要加上-p参数,不然会导致权限问题

  • 更改配置 /etc/gitlab/gitlab.rb

    vim /etc/gitlab/gitlab.rb

  • 指定数据目录

    git_data_dir "/home/gitlab-data"

  • 使配置生效

    gitlab-ctl reconfigure

  • 重启gitlab

    gitlab-ctl restart

7 Git & Gitlab常见错误 🐛

7.1 错误502解决办法

内存原因

如果内存较小,服务器硬件资源太小(4G+4G交换分区以下)

则服务启动过程较慢,在此期间启动则会导致502,等一段时间,服务启动后,再访问就ok了

8080 端口冲突

原因:由于pumaunicorn(gitlab 13.x以下)默认使用的是 8080 端口。

解决办法:打开 /etc/gitlab/gitlab.rb ,去掉 # unicorn['port'] = 8080 的注释, 修改为:

puma['port'] = 8080

13.0以前版本:

unicorn['port'] = 8080

保存后

运行 sudo gitlab-ctl reconfigure 即可。

升级到13.x后,unicorn配置问题

由于Gitlab 13.0以后,gitlab默认的应用服务器由unicorn替换成了puma 如果在gitlab.rb配置文件手动设置过unicorn配置项时候会导致应用服务器(unicorn)起不来 会导致 502。

注释掉相关unicorn配置,或者unicorn配置项替换为puma。 然后,重新生成配置,重新启动gitlab即可。

gitlab-ctl reconfig
gitlab-ctl restart

7.2 Git SSH认证问题

很简单的,证书添加后:

  • ssh -T git@IP测试,测试成功说明证书添加成功。

比如测试github: ssh -T [email protected]

Hi bollwarm! You've successfully authenticated, but GitHub does not provide shell access.

注意测试建实例时候吧[email protected]换成git@XXX,XXX为你自己实例服务器的IP地址或者域名。

如果有问题,则你证书生成或者添加有问题。你可以ssh -vv -T git@IP 来看详细ssh通讯过程和报错,找出问题。

主要问题keys生成不对;

文件权限问题(linux下证书权限必须为600,如果是从其他地方复制来的需要注意);

添加公钥时候添加不是用户账号下证书,而是部署证书(部署证书没有push权限)。

  • 确保你项目目录下.git/config 文件中远程仓的URL链接是SSH链接:git或者ssh开头,而不是http/https开头。

  • https认证时候可以直接在配置url上配上用户名和密码,这样不用每次操作都输入用户名和密码,格式如下:

    https://用户名:密码@IP其他部分。

8 其他信息 🌐

更多信息欢迎Pull Request

Gitlab QQ交流群 208598995,交流

本repo会持续更新

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].