一、GitLab

 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
 它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

二、docker中安装gitlab

  1. 搜索镜像
$ docker search gitlab
  1. 拉镜像
$ docker pull gitlab/gitlab-ce
  1. 运行容器
$ docker run -d  -p 8443:443 -p 8090:80 -p 2222:22 --name gitlab --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /srv/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce
  • –privileged=true 添加权限,不然无权限创建/srv/gitlab/config/gitlab.rb等配置文件。
  • 宿主机目录会自动创建(/srv/gitlab/config、/srv/gitlab/logs、/srv/gitlab/data),并与容器内部目录进行挂载。
  • 443,22,80都是常用端口,为了不与其他程序冲突,所以使用-p进行外部端口映射。
  1. 此时进行配置的修改:
$ vim /srv/gitlab/config/gitlab.rb

gitlab.rb中默认全是注释。
在这里插入图片描述
如果端口不是80,请慎重配置external_url ,跟着教程一步一步来就没问题,因为博主也是踩了无数坑,疯狂搜索文章才解决了问题。
增加以下内容:

external_url 'http://192.168.0.130'
gitlab_rails['gitlab_ssh_host'] = '192.168.0.130'
gitlab_rails['gitlab_shell_ssh_port'] = 2222

## 邮箱服务
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.163.com'
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = '***@163.com'
## 163生成的客户端授权码 非邮箱密码
gitlab_rails['smtp_password'] = '***'   
gitlab_rails['smtp_domain'] = '163.com'
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
## gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = '***@163.com'
user["git_user_email"] = '***@163.com'


坑!
阿里云服务器gitlab邮箱配置OpenTimeout: execution expired,阿里云服务器默认是屏蔽25端口的,改用163邮箱的465端口即可。

gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_tls'] = true

修改gitlab.yml

$ vim /srv/gitlab/data/gitlab-rails/etc/gitlab.yml


5. 重启gitlab:

$ docker restart gitlab


也可以进入容器进行重启:

$ docker exec -it gitlab /bin/bash

$ gitlab-ctl restart


exit为退出容器。

测试邮箱:
进入gitlab的容器后,进入gitlab-rails console:

gitlab-rails console


发送测试邮件:

Notify.test_email('****@qq.com', 'Message Subject', 'Message Body').deliver_now

查看正在运行的容器:

$ docker ps


查看gitlab容器日志:

$ docker logs -f gitlab

博主的gitlab启动的非常慢,一般要10分钟。而且gitlab状态会从starting->unhealthy->healthy。

当STATUS从starting变成healthy时,就表示启动成功。

  1. 浏览器访问
    地址:http://192.168.0.130:8090/

三、gitlab界面操作

首次访问,会提示修改root用户密码:

确认修改后,用账户名称root登入,密码为上一步修改的密码。
登入后,会提示创建项目:

这里按照提示,创建一个自己的项目。

这里就是自己项目的clone路径:

在本地用TortoiseGit进行操作:

  • clone

    提示输入用户名和密码,输入root账户名称密码即可,后续可为开发人员建立账号。
    克隆到本地后,新建一个test文件,方便后续提交到代码库。
  • commit
    右键项目,点击commit to master,输入注释,勾选文件,点击ok提交

    点击push推送:

    点击ok:

    推送成功:

    查看gitlab:

    成功!
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐