一、什么是GitLab
GitLab是利用Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过web界面进行访问公开的或者私有的项目。
1、它拥有可Github类似的功能,能够浏览源代码,管理缺陷和注释。
2、可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。
3、团队成员可以利用内置的简单聊天程序(Wall)进行交流。
4、它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有查找。
二、部署GitLab
官网有很具体的部署流程:https://hub.docker.com/r/twang2218/gitlab-ce-zh
部署命令如下:
#拉取远程镜像 docker pull twang2218/gitlab-ce-zh
#cd local目录下,并创建docker,在docker目录下创建gitlab
cd /usr/local/
mkdir docker
mkdir gitlab
#编辑docker-compose.yml
vi docker-compose.yml
#启动
docker-compose up -d
docker-compose.yml配置文件内容如下:
version: '3' services: web: image: 'twang2218/gitlab-ce-zh:11.1.4' restart: always hostname: '192.168.121.131' environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.121.131' gitlab_rails['gitlab_shell_ssh_port'] = '2222' unicorn['port'] = 8888 nginx['listen_port'] = 80 ports: - '80:80' - '443:443' - '2222:22' volumes: - ./config:/etc/gitlab - ./data:/var/opt/gitlab - ./logs:/var/log/gitlab
三、访问GitLab
注意:密码不能小于8位
四、配置用户ssh
#生成ssh key
ssh-keygen -t rsa -C YourCount@example.com
将生成的ssh key填入到下方key中,名称最好以当前计算机命名
五、忘记密码
#进入容器交互 docker exec -it 容器id /bin/bash #打开命令窗口 gitlab-rails console production #复制修改命令 user = User.find_by(email: 'XXXXX@qq.com') user.password=12345678 user.password_confirmation =12345678 user.save #退出 quit
如下图所示,返回true说明修改密码成功,密码不能少于八位
六、遇到问题
1、提示没有数据卷写入权限
解决:配置错误数据卷的地址,重新定位到./当前目录下,解决了
关键字:Gravatar(全球公认头像),Octotree(谷歌 github目录浏览插件)