欢迎您, 来到 宁时修博客.^_^

Docker 启用 Gitlab-ce -- 02、使用

2019/09/19 林木立 Docker 330
Docker 启用 Gitlab-ce

五、代码提交与克隆

    因为映射的外部端口是 222,所以让 GitLab 的 SSH 克隆、提交代码有些障碍,不能像平常一样,要改变 git 的连接方式。

    比如:

$ git clone git@gitlab.example.com:my-project/test-project.git

    改为明确使用 ssh://  的 URL 方式:

$ git clone ssh://git@gitlab.example.com:222/my-project/test-project.git


六、将旧版本Gitlab上的项目导入新版Gitlab

    因为Gitlab版本不一致,所以导致使用 gitlab的备份和导入无效。

    因此我们使用git命令来操作。

    通过以下命令来实现把项目 respository 完全镜像 clone 下来,包括所有分支和记录。

$ git clone --bare ssh://git@gitlab.example.com:2222/my-project/test-project.git

    克隆下来的代码结构如下:

            334.png


    怎么push到新的Gitlab上了?

$ cd test-project.git
$ git push --mirror ssh://git@gitlab.test.com:222/my-project/test-project.git


    如果想放到新的 respository,可以在新的Gitlab上先创建好 respository。

$ cd test-project.git
$ git push --mirror ssh://git@gitlab.test.com:222/new-project/new-project.git


七、Docker上Gitlab备份和回复代码

    备份命令:

$ docker exec -t gitlab gitlab-rake gitlab:backup:create


    进入挂载目录查看:

$ cd /data/gitlab/data/backups/
$ ls
1568101600_2019_09_10_11.1.4_gitlab_backup.tar


    恢复至新的Gitlab上要求: 新的Gitlab版本必须与旧的Gitlab一致。

    将备份文件复制到 新Gitlab的挂载目录:

$ cp 1568101600_2019_09_10_11.1.4_gitlab_backup.tar /opt/gitlab/data/backups/
$ chmod +r /opt/gitlab/data/backups/1568101600_2019_09_10_11.1.4_gitlab_backup.tar

    然后执行恢复命令:

$ docker exec -t gitlab gitlab-rake gitlab:backup:restore


八、不允许个人注册Gitlab账户,由管理员创建新用户

    取消 “启用注册”功能:

   19092031.png


九、设置新建用户默认不能创建 Project

    设置默认 project 限制 为 0:

826.png



十、重置 Gitlab 账户密码

    官方重置密码步骤 :https://docs.gitlab.com/ce/security/reset_root_password.html


    进入 docker-gitlab 容器内:

$ docker exec -it gitlab /bin/bash


    启动gitlab-rails:

root@47:/# gitlab-rails console -e production


    如图所示:

   919100654.png


    

    查看所有用户,找到需要更改密码的用户,更改密码,password_confirmation使密码生效,最后保存更改。

irb(main):001:0> user = User.all
=> #<ActiveRecord::Relation [#<User id:2 @test>, #<User id:1 @root>]>
irb(main):002:0> 
irb(main):003:0* user=User.where(id:1).first
=> #<User id:1 @root>
irb(main):004:0> user.password='abcd123ABC'
=> "abcd123ABC"
irb(main):005:0> user.password_confirmation='abcd123ABC'
=> "abcd123ABC"
irb(main):006:0> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: 55d5938a-8506-49cc-be8c-6afd666c4efe) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/1
=> true
irb(main):007:0>

    这样就将 root 用户的密码更改为 abcd123ABC 了,然后退出控制台并尝试使用新密码登录。


点赞
说说你的看法

所有评论: (0)