GitLab-docker中的安装与实践
一、GitLab GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。二、docke
一、GitLab
GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
二、docker中安装gitlab
- 搜索镜像
$ docker search gitlab
- 拉镜像
$ docker pull gitlab/gitlab-ce
- 运行容器
$ 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进行外部端口映射。
- 此时进行配置的修改:
$ 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时,就表示启动成功。
- 浏览器访问
地址:http://192.168.0.130:8090/
三、gitlab界面操作
首次访问,会提示修改root用户密码:
确认修改后,用账户名称root登入,密码为上一步修改的密码。
登入后,会提示创建项目:
这里按照提示,创建一个自己的项目。
这里就是自己项目的clone路径:
在本地用TortoiseGit进行操作:
- clone
提示输入用户名和密码,输入root账户名称密码即可,后续可为开发人员建立账号。
克隆到本地后,新建一个test文件,方便后续提交到代码库。
- commit
右键项目,点击commit to master,输入注释,勾选文件,点击ok提交
点击push推送:
点击ok:
推送成功:
查看gitlab:
成功!
更多推荐
所有评论(0)