Docker Compose方式搭建gitlab服务器
设置gitlab工作目录的环境变量 GITLAB_HOME
export GITLAB_HOME=/srv/gitlab
创建 docker-compose.yml
文件:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
ports:
- '80:80'
- '443:443'
- '122:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
运行 docker-compose
gitlab是个很耗资源的应用,至少需要2核4G的硬件配置。
docker-compose up -d
gitlab的docker容器启动很耗时,可能需要数分钟。如果启动未完成,访问gitlab可能出现 502错误
。
硬件配置不够,gitlab的docker容器将无法成功启动。我这边本地测试2核4G的虚拟机花了4分钟的启动时间。
查看 gitlab镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gitlab/gitlab-ce latest 033bcfa1b036 7 days ago 2.09GB
重置gitlab管理员密码
整个网上99%的都教你用 gitlab-rails console production
命令。其实可能是错的,因为不同版本可能不一样。
我的gitlab版本命令为 gitlab-rails console -e production
:
gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
GitLab: 13.7.4 (2f14978e280) FOSS
GitLab Shell: 13.14.0
PostgreSQL: 12.4
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.3)
irb(main):004:0> user = User.where(username:"root").first
=> #<User id:1 @root>
irb(main):006:0> user.password = "123456"
=> "123456"
irb(main):011:0> user.save()
Enqueued ActionMailer::MailDeliveryJob (Job ID: b4213688-7436-4fa0-921c-e0b077d65d38) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007fa99a6b7d30 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true
查询所有的用户
user = User.all
通过条件查询用户 常见的where条件有 username email state
user = User.where(id:1).first
user = User.find_by(email: 'admin@local.host')
通过id查询用户
user = User.find(1)
查询用户某个字段的值 显示当前用户的email
user.email
修改密码
user.password = 'new_password'
user.password_confirmation = 'new_password'
user.save
echo 'user = User.find_by(username: "root");user.password="secret_pass!";user.password_confirmation="secret_pass!";user.save' | sudo gitlab-rails console
# 修改用户状态
user.state = 'active'
user.save
端口号设置
vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
gitlab-ctl restart
配置文件 /etc/gitlab/gitlab.rb
gitlab的安装与修改端口配置 https://www.cnblogs.com/heartxkl/p/12943904.html
忘记gitlab密码怎么办 http://www.eryajf.net/5315.html
GitLab的安装及使用教程 https://www.cnblogs.com/niuben/p/10867877.html
CentOS 7.5上安装 GitLab 最新版CE/EE https://blog.csdn.net/weixin_43767602/article/details/84568858
gitlab安装要求 https://docs.gitlab.com/ee/install/requirements.html
官网CentOS7安装教程:https://about.gitlab.com/install/#centos-7
Docker-compose https://docs.gitlab.com/omnibus/docker/README.html#install-gitlab-using-docker-compose